题目:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
解题思路:创建两个ArrayList,一个用来根据传进来的ListNode参数新建一个完整的ArrayList,另一个用来存储反转后的ArrayList。其中用到的ListNode类如下:
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
完整代码如下:
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<Integer> result = new ArrayList<Integer>();
ListNode temp = listNode;
while ( temp != null ) {
list.add( temp.val );
temp = temp.next;
}
for ( int i = list.size()-1; i>=0; i-- ) {
result.add( list.get(i) );
}
return result;
}
}