输入一个链表,从尾到头打印链表每个节点的值。
方法一:借助堆栈的“后进先出”实现
1 /** 2 * public class ListNode { 3 * int val; 4 * ListNode next = null; 5 * 6 * ListNode(int val) { 7 * this.val = val; 8 * } 9 * } 10 * 11 */ 12 import java.util.ArrayList; 13 import java.util.Stack; 14 public class Solution { 15 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { 16 Stack<Integer> stack=new Stack<Integer>(); 17 while(listNode!=null){ 18 stack.push(listNode.val); 19 listNode=listNode.next; 20 } 21 22 ArrayList<Integer> list=new ArrayList<Integer>(); 23 while(!stack.isEmpty()){ 24 list.add(stack.pop()); 25 } 26 return list; 27 } 28 }
原文:http://www.cnblogs.com/LoganChen/p/6393263.html