博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指OFFER例题——从尾到头打印链表
阅读量:7281 次
发布时间:2019-06-30

本文共 872 字,大约阅读时间需要 2 分钟。

1 /** 2 *    public class ListNode { 3 *        int val; 4 *        ListNode next = null; 5 * 6 *        ListNode(int val) { 7 *            this.val = val; 8 *        } 9 *    }10 *11 */12 import java.util.ArrayList;13 public class Solution {14     ArrayList
myList = new ArrayList
();15 public ArrayList
printListFromTailToHead(ListNode listNode) {16 if(listNode != null){17 //a = listNode.next;18 this.printListFromTailToHead(listNode.next);19 myList.add(listNode.val);//中文字符错误过一次20 }21 return myList; 22 }23 }

运用了递归的思想,递归的点在this.printListFromTailToHead(listNode.next),在最后一次递归方法返回后,每一层的递归方法都会做一个myList.add(listNode.val)的操作,从最后一次到第一次。

这是参考牛客网大神的说法,自己还需要再推敲推敲。

递归:直接或间接调用自己的算法

欲知后事,请听之后分解~

转载于:https://www.cnblogs.com/10081-AA/p/10301196.html

你可能感兴趣的文章
多线程的使用注意点
查看>>
【GitHub】README.md文件中 markdown语法 插入超链接
查看>>
移动着,心就变了
查看>>
2014冬去春来
查看>>
Python全栈--6.1-match-search-findall-group(s)的区别以及计算器实例
查看>>
基本概念
查看>>
《Linux内核设计与实现》读书笔记(10)--- 定时器和时间管理(2)
查看>>
Spark On YARN内存分配
查看>>
Python学习笔记【第十三篇】:Python网络编程一Socket基础
查看>>
Hibernate ORM框架——项目一:Hibernate查询;项目二:集合相关查询
查看>>
Ionic2开发环境搭建
查看>>
ccf 最优灌溉
查看>>
(30)批处理文件.bat
查看>>
基于MFC和opencv的FFT
查看>>
0823模拟赛
查看>>
Ajax
查看>>
HDU 1849 Rabbit and Grass 【Nim博弈】
查看>>
JMeter-Java压力测试工具-01
查看>>
搜狐在线笔试 时间复杂度O(n)实现数组A[n]中所有元素循环左移k个位置
查看>>
写python时加入缩进设置
查看>>