输入一个链表,从尾到头打印链表每个节点的值。
import java.util.ArrayList;
public class Solution {
ArrayList<Integer> list=new ArrayList();
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if(listNode!=null)
{
printListFromTailToHead(listNode.next);
int n=listNode.val;
list.add(n);
}
return list;
}
}
递归本质上就是一个栈结构,要实现反过来输出链表,我们没访问到一个结点的时候,先递归输出它后面的结点。再输出该节点自身。这样链表的输出就反过来了。