/** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } * */ List.add(); // void add(E element) 直接在后面添加元素 // void add(int index, E element) 在列表的指定位置插入指定元素,后面的元素依次后移 import java.util.ArrayList; public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> list = new ArrayList<>(); ListNode p = listNode; while(p!=null){ list.add(0,p.val); p = p.next; } return list; } }
方法二:
class Solution { public int[] reversePrint(ListNode head) { int length = 0; ListNode node = head; while(node!=null){ node = node.next; length++; } int []arr = new int[length]; for (int i=length-1;i>=0;i--){ arr[i] = head.val; head = head.next; } return arr; } }