美文网首页
[编程题]从尾到头打印链表

[编程题]从尾到头打印链表

作者: 抓兔子的猫 | 来源:发表于2016-10-11 17:09 被阅读568次

    输入一个链表,从尾到头打印链表每个节点的值。
    输入描述:
    输入为链表的表头
    输出描述:
    输出为需要打印的“新链表”的表头

    java 递归超简洁版本
    public class Solution {
        ArrayList<Integer> arrayList=new ArrayList<Integer>();
        public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
            if(listNode!=null){
                this.printListFromTailToHead(listNode.next);
                arrayList.add(listNode.val);
            }
            return arrayList;
        }
    }  
    

    ps:递归的点在printListFromTailToHaed(listNode.next)这个节点,那么在最后一次递归方法返回以后,每一层的递归方法都会做一个arrayList.add(lizxstNode.val)这个操作,从最后一次到第一次,逆向的调用了后面的方法。因为之前的递归点已经返回了。

    相关文章

      网友评论

          本文标题:[编程题]从尾到头打印链表

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