首页 > 代码库 > 从尾到头打印链表

从尾到头打印链表

题目:输入一个链表,从尾到头打印链表每个节点的值。

思路:链表就是一个递归定义的线性表,每个指针指向后面的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;
    }

 

从尾到头打印链表