从尾到头打印链表
题目:输入一个链表,从尾到头打印链表每个节点的值。
思路:链表就是一个递归定义的线性表,每个指针指向后面的node ,所以此题刚好符合递归的思想,与最简单的递归,求n的阶乘类似
/** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } * */ /*递归思路,要是添加这个操作放在递归之前,就是返回从头到尾 放在递归之后,就是从尾到头,类似于求阶乘*/ ArrayList<Integer> arrayList=new ArrayList<Integer>(); public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { if(listNode!=null){ printListFromTailToHead(listNode.next); arrayList.add(listNode.val); } return arrayList; }