面试题5:从尾到头打印链表
2017-06-03 00:36
330 查看
题目:输入一个链表,从尾到头打印链表每个节点的值。
方法一:
/** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } * */ import java.util.ArrayList; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> list = new ArrayList<>(); ArrayList<Integer> result = new ArrayList<>(); while(listNode != null) { list.add(listNode.val); listNode = listNode.next; } for (int i = list.size() - 1; i >= 0; i--) { result.add(list.get(i)); } return result; } }
方法二:
想到利用栈来操作!既然想到了栈,就会想到递归!import java.util.ArrayList; import java.util.Stack; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { Stack stack = new Stack<Integer>(); ArrayList<Integer> result = new ArrayList<>(); while(listNode != null) { stack.push(listNode.val); } while(!stack.isEmpty()) { result.add((Integer)stack.pop()); } return result; } }
递归:
import java.util.ArrayList; public class Solution { ArrayList<Integer> result = new ArrayList<>(); public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { if(listNode != null) { printListFromTailToHead(listNode.next); result.add(listNode.val); } return result; } }
相关文章推荐
- (剑指Offer)面试题5:从尾到头打印链表
- 剑指offer 面试题5 从尾到头打印链表(栈实现)
- 《剑指offer》面试题5—从尾到头打印链表
- 【面试题5】从尾到头打印链表
- 【面试题005】从尾到头打印链表
- 【C语言】单链表的相关热点面试题(包括:从尾到头打印,逆置,冒泡,寻找中间节点,倒数k节点)
- 剑指Offer----面试题五:从尾到头打印链表
- 经典面试题——链表从尾到头打印
- 剑指offer|面试题5:从尾到头打印链表(Java实现)
- 面试题—— 从尾到头打印链表
- 剑指offer-面试题5:从尾到头打印链表
- 剑指Offer面试题5(Java版):从尾到头打印链表
- 剑指offer面试题——从尾到头打印链表
- 剑指offer-->面试题5 从尾到头打印链表
- 【剑指offer】面试题5:从尾到头打印链表
- 剑指offer之面试题5:从尾到头打印链表
- 面试题四 从尾到头打印链表
- 面试题5 从尾到头打印链表
- 剑指Offer面试题6:从尾到头打印链表
- 面试题:从尾到头打印链表