【面试编程题】4:从尾到头打印链表
2016-07-19 14:25
253 查看
题目描述
输入一个链表,从尾到头打印链表每个节点的值。
输入描述: 输入为链表的表头
输出描述: 输出为需要打印的“新链表”的表头
思路:
`
输入一个链表,从尾到头打印链表每个节点的值。
输入描述: 输入为链表的表头
输出描述: 输出为需要打印的“新链表”的表头
思路:
如果反转链表,会破坏链表原来的结果。所以利用数据结果栈。
import java.util.ArrayList; import java.util.Stack; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> result=new ArrayList<Integer>(); if(listNode==null) return result; //遍历放入栈 Stack<Integer> stack=new Stack<>(); ListNode pNode=listNode; do{ stack.add(pNode.val); pNode=pNode.next; }while(pNode!=null); //遍历栈 while(!stack.isEmpty()){ result.add(stack.pop()); } return result; } }
`
相关文章推荐
- 面试题
- 【那些年遇到过的面试题】阻塞 非阻塞 同步 异步 I/O 模型
- 面试浅谈
- 【面试编程题】3-二维数组中的查找
- Android面试总结
- 经典算法面试题目-判断一个字符串中的字符是否唯一(1.1)
- 经典算法面试题目-判断一个字符串中的字符是否唯一(1.1)
- .NET程序员走向高端必读书单汇总
- 拥有别人拿不走的东西
- 替换空格
- 排序算法总结及面试题
- 15个顶级Java多线程面试题及回答
- java程序员最常犯的错误
- 教你如何迅速秒杀掉:99%的海量数据处理面试题
- 【那些年遇到过的面试题】 epoll
- 面试缺点
- 二维数组中的查询
- 构造器创建对象
- 校园到职场,正益移动助力90后就业创业
- 递归与冒泡排序