题目描述:
输入一个链表,从尾到头打印链表每个节点的值。
代码:
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list = new ArrayList<Integer>();
while(listNode != null){
list.add(0,listNode.val);
listNode = listNode.next;
}
//Collections.reverse(list);//使用Collections的reverse方法,直接将list反转
return list;
}
}
这里在评论区中发现有个更为简易的方法,无须再调用reverse方法就是list有头插法,也就是
list.add(0,listNode.val);