java 逆序打印链表的值

来源:互联网 发布:淘宝标题怎么改 编辑:程序博客网 时间:2024/05/17 09:36

在牛客网上看到的在线编程题:输入一个链表,从尾到头打印链表每个节点的值。

有个同学写的不错,如下所示:

  /*************************************************/    /*********************** start *******************/    /*************************************************/    /**     * 输入一个链表,从尾到头打印链表每个节点的值。     */    public static ArrayList<Integer> listNodes = new ArrayList<>();    public static ArrayList<Integer> printListNode(ListNode listNode) {        if (listNode != null) {            printListNode(listNode.next);            listNodes.add(listNode.val);            System.out.println("printListNode listNode.val ="+listNode.val);        }        for (int i = 0; i < listNodes.size(); i++) {            System.out.println("printListNode="+listNodes.get(i)+"--size="+listNodes.size());        }        return listNodes;    }    public static class ListNode {        int val;        ListNode next;        public ListNode(int val) {            this.val = val;        }        public ListNode(int val, ListNode next) {            this.val = val;            this.next = next;        }    }    public static void testPrintNodeListFromTail2Head(){        //construct data        List<ListNode> list = new ArrayList<ListNode>();        ListNode firstNode = new ListNode(0);        list.add(firstNode);        for (int i = 1; i < 20; i++) {            ListNode newNode = new ListNode(i);            System.out.println("testPrintNodeListFromTail2Head listSize:" + list.size()+"--i-1="+(i-1));            list.get(i-1).next = newNode;            list.add(newNode);        }        printListNode(firstNode);    }    /*************************************************/    /***********************  end ********************/    /*************************************************/

log如下:

11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=19--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=18--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=17--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=16--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=15--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=14--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=13--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=12--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=11--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=10--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=9--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=8--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=7--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=6--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=5--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=4--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=3--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=2--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=1--size=2011-30 13:12:57.048 1610-1610/? I/System.out: printListNode=0--size=20


0 0
原创粉丝点击