剑指offer 从头到尾打印链表
2018-02-01 21:24
393 查看
题目描述
输入一个链表,从尾到头打印链表每个节点的值。思路:第一反应,便是使用栈,先进后出,先遍历进栈,再遍历栈出栈。
第二反应,使用递归,其原理和栈差不多,类似一个进栈的过程。
递归:
import java.util.ArrayList;
public class Solution {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//使用递归实现
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if (listNode != null) {
printListFromTailToHead(listNode.next);
arrayList.add(listNode.val);
}
return arrayList;
}
} 栈:
import java.util.Stack;
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if(listNode == null){
ArrayList list = new ArrayList();
return list;
}
Stack<Integer> stk = new Stack<Integer>();
while(listNode != null){
stk.push(listNode.val);
listNode = listNode.next;
}
ArrayList<Integer> arr = new ArrayList<Integer>();
while(!stk.isEmpty()){
arr.add(stk.pop());
}
return arr;
}
}
相关文章推荐
- 剑指Offer-【面试题05:从头到尾打印链表】
- 【剑指offer】面试题6:从头到尾打印链表
- [剑指offer]从头到尾打印链表
- 剑指offer-从头到尾打印链表
- [牛客网,剑指offer,python] 从头到尾打印链表
- 剑指offer面试题5 从头到尾打印链表(java)
- 剑指offer5:从头到尾打印链表
- [牛客网,剑指offer,python] 从头到尾打印链表
- 剑指Offer-从头到尾打印链表
- 剑指offer-5:从头到尾打印链表
- [牛客网,剑指offer,python] 从头到尾打印链表
- 剑指offer:Java实现从头到尾打印链表
- 剑指Offer---从头到尾打印链表
- [牛客网,剑指offer,python] 从头到尾打印链表
- [牛客网,剑指offer,python] 从头到尾打印链表
- [牛客网,剑指offer,python] 从头到尾打印链表
- 剑指offer面试题5 从头到尾打印链表(java)
- 剑指offer之从头到尾打印链表
- [牛客网,剑指offer,python] 从头到尾打印链表
- 剑指offer 面试题5——从头到尾打印链表