您的位置:首页 > Web前端

《剑指offer》从尾到头打印链表

2017-06-30 13:56 453 查看
此题的解法较多,编程期间需要注意的是,如果有头结点的话,该节点是有值的,废话少说,上代码

实现方式一:直接用list存储元素,然后用Collections工具类里的翻转方法把该list翻转就可以了

import java.util.*;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list = new ArrayList<>();
if(listNode==null){
return list;
}
while(listNode!=null){
list.add(listNode.val);
listNode=listNode.next;
}
Collections.reverse(list);
return list;
}
}
实现方式二:有人利用递归解,思想更简洁
java 递归超简洁版本
public class Solution {
ArrayList<Integer> arrayList=new ArrayList<Integer>();
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if(listNode!=null){
this.printListFromTailToHead(listNode.next);
arrayList.add(listNode.val);
}
return arrayList;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据结构 java 编程