【剑指offer】从尾到头打印链表
题目链接:从尾到头打印链表
题意:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
给出的数据结构
/** public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } **/
题解:我投机取巧用了一个collections的reverse...递归应该是比较好的想法。。
代码:
1 import java.util.ArrayList; 2 import java.util.Collections; 3 public class Solution { 4 ArrayList array = new ArrayList(); 5 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { 6 7 while(listNode != null){ 8 array.add(listNode.val); 9 listNode = listNode.next; 10 } 11 Collections.reverse(array); 12 return array; 13 14 } 15 } 16 17 18 OR 19 20 21 import java.util.ArrayList; 22 23 public class Solution { 24 ArrayList array = new ArrayList(); 25 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { 26 if(listNode == null){ 27 return array; 28 } 29 printListFromTailToHead(listNode.next); 30 array.add(listNode.val); 31 return array; 32 33 } 34 }