美文网首页
从尾到头打印链表-java

从尾到头打印链表-java

作者: Jacinth | 来源:发表于2017-06-05 13:56 被阅读0次

    题目描述

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

    Java代码

    /**
    *    public class ListNode {
    *        int val;
    *        ListNode next = null;
    *
    *        ListNode(int val) {
    *            this.val = val;
    *        }
    *    }
    *
    */
    /*栈的本质就是递归,我们每访问一个节点的时候,先递归输出它后面的节点,再输出该节点本身*/
    import java.util.ArrayList;
    public class Solution {
        ArrayList<Integer> arraylist=new ArrayList<Integer>();
        public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
            if(listNode!=null){
                if(listNode.next!=null){
                    printListFromTailToHead(listNode.next);
                }
                arraylist.add(listNode.val);//递归的点在printListFromTailToHaed(listNode.next)这个节点,
                                            //那么在最后一次递归方法返回以后,每一层的递归方法都会做一个
                                            //arrayList.add(listNode.val)这个操作,从最后一次到第一次,
                                            //逆向的调用了后面的方法
            }
            return arraylist;
        }
    }
    

    相关文章

      网友评论

          本文标题:从尾到头打印链表-java

          本文链接:https://www.haomeiwen.com/subject/gpmifxtx.html