从尾到头打印链表解法
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
解法一:建一个Integer集合对象,将链表元素放入。遍历集合,第一个和最后一个交换位置,第二个和倒数第二个交换位置....到中间交换完毕。
public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> arrList = new ArrayList<Integer>(); ListNode p = listNode; while (p != null){ arrList.add(p.val); p = p.next; } int temp = 0; for (int i = 0; i < arrList.size() / 2; i++){ temp = arrList.get(i); arrList.set(i,arrList.get(arrList.size() - i - 1)); arrList.set(arrList.size() - i - 1, temp); } return arrList; } }