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

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

 

方法一:采用栈来存储,用ArrayList保存。注意题目给出的输出结果是ArrayList

import java.util.ArrayList;import java.util.Stack;public class Solution {    public ArrayList
printListFromTailToHead(ListNode listNode) { Stack
stack=new Stack<>(); ArrayList
arrayList=new ArrayList<>(); while (listNode!=null){ stack.push(listNode.val); listNode=listNode.next; } while (!stack.isEmpty()){ arrayList.add(stack.pop()); } return arrayList; }}class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}}

  方法二: 递归在本质上是一个栈结构,于是很自然的想到了用递归来实现。注意 ArrayList的创建要在函数的外面,不然每次又去重新创建了该对象,导致最后只有一个元素。static加上去出错,至于原因我还要再看一下。

import java.util.ArrayList;public class Solution {    ArrayList
arrayList=new ArrayList<>(); public ArrayList
printListFromTailToHead(ListNode listNode) { if(listNode!=null){ if(listNode.next!=null){ printListFromTailToHead(listNode.next); } arrayList.add(listNode.val); } return arrayList; }}

加入在前面加入static之后的结果:在IDE里面是可以跑通的,另外,把static的变量放入方法里面是会有语法错误的(Java有,c、c++没有错误)

 

 

 

转载于:https://www.cnblogs.com/imqsl/p/7976414.html

你可能感兴趣的文章
Vmware /CentOS访问Windows中的文件
查看>>
pg9.5升级 到 pg11 的步骤
查看>>
09可靠消息最终一致性方案2--独立消息服务
查看>>
Linux系统下生成一个指定大小的文件和空间预留
查看>>
LNMP搭建9:Nginx日志切割
查看>>
智慧城市,城市建设规划的风向标!
查看>>
我的友情链接
查看>>
破解XP的登录密码简招
查看>>
(24)Poweshell中的if条件判断
查看>>
IE8 新建会话
查看>>
利用blink CEP实现流计算中的超时统计问题
查看>>
我的友情链接
查看>>
再谈运维的本质是什么
查看>>
jQuery上传插件Uploadify出现Http Error 302错误解决
查看>>
粗心导致的错误 TNS-03505: Failed to resolve name
查看>>
JSP第三次课内容:JSP实现宠物店设计
查看>>
find详解
查看>>
xargs 和 exec
查看>>
Neutron - Automatic network mtu
查看>>
nodejs 定时调用shell脚本来备份数据库和日志文件并发送到邮箱
查看>>