输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
思路:
循环遍历链表,将链表的值添加到ArrayList中,然后将ArrayList倒置。
/**
* public class ListNode {
* int val;
* ListNode next = null;
* * ListNode(int val) {
* this.val = val;
* }
* }
* */
import java.util.*;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> resultList = new ArrayList<Integer>();
ListNode temp = listNode;
while (temp != null) {
int val = temp.val;
resultList.add(val);
temp = temp.next;
}
Collections.reverse(resultList);
return resultList;
}
}
需要注意的问题:
- Collections.reverse()方法可以将List集合倒置
- 判断单链表是否为空的条件是 listNode != null