首页 > 其他 > 详细

《剑指Offer》题目——从尾到头打印链表

时间:2017-06-04 22:21:48      阅读:316      评论:0      收藏:0      [点我收藏+]

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

题目分析:用栈;Java用Stack不如用Deque接口,原因可以见链接:http://stackoverflow.com/questions/12524826/why-should-i-use-deque-over-stack

public class ReverseList {
    class ListNode{
        int val;
        ListNode next = null;

        ListNode(int val){
            this.val = val;
        }
    }
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        Stack<Integer> stack = new Stack<Integer>();
        ArrayList<Integer> list = new ArrayList<Integer>();

        //注意这里while循环结束的条件是listNode不为空,而不是listNode.next不为空
        while (listNode!=null){
            stack.push(listNode.val);
            listNode = listNode.next;
        }
        while (!stack.empty()){
            list.add(stack.pop());
        }
        return list;
    }
    public static void main(String[] args){

    }
}

 

《剑指Offer》题目——从尾到头打印链表

原文:http://www.cnblogs.com/weekend/p/6942031.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!