将一个链表倒序输出
2016-05-17 19:58
393 查看
思路一:遍历所有节点,将所有节点的值按顺序存入List,从尾部开始遍历这个list,将遍历值按顺序存入一个list2,返回list2,实现代码如下:
思路二:利用栈先入后出的结构,将所有节点的值存入一个栈中,依次取出栈中的值返回即可,代码如下:
import java.util.ArrayList; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> list = new ArrayList<Integer>(); ArrayList<Integer> resultList = new ArrayList<Integer>(); while(listNode!=null){ list.add(listNode.val); listNode = listNode.next; } for(int i=list.size()-1;i>=0;i--){ resultList.add(list.get(i)); } return resultList; } }
思路二:利用栈先入后出的结构,将所有节点的值存入一个栈中,依次取出栈中的值返回即可,代码如下:
import java.util.Stack; import java.util.ArrayList; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { Stack<Integer> sta = new Stack<Integer>(); ArrayList<Integer> arr = new ArrayList<Integer>(); while(listNode!=null){ sta.push(listNode.val); listNode = listNode.next; } while(!sta.isEmpty()){ arr.add(sta.pop()); //删除栈的顶部元素,并将其作为返回值返回 } return arr; } }
相关文章推荐
- git简单入门
- 友盟统计操作
- 关于笔刷Brush
- jsp编码过程
- HDOJ/HDU 2555 人人都能参加第30届校田径运动会了(判断加排序~)
- MediaPlayer+Timer+PagerAdapter
- HDOJ/HDU 2555 人人都能参加第30届校田径运动会了(判断加排序~)
- bzoj1618: [Usaco2008 Nov]Buying Hay 购买干草 完全背包
- https 常见问题一 PKIX path building failed
- 飞机游戏
- pandas笔记,长期记录不会的知识点~
- prop
- Python is和==区别
- Matplotlib学习笔记1-2D绘图
- ROS机器人直行1米,接着旋转180°,再返回到起始点。之一
- swift中KVC构造函数,和执行流程
- 在linux中添加新硬盘并创建LVM组
- 枚举类型enum
- HDU 4162 Shape Number (模拟)
- 2016SDAU编程练习三1023