java 逆序打印链表的值
2016-11-30 13:14
190 查看
在牛客网上看到的在线编程题:输入一个链表,从尾到头打印链表每个节点的值。
有个同学写的不错,如下所示:
log如下:
有个同学写的不错,如下所示:
/*************************************************/ /*********************** 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=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=18--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=17--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=16--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=15--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=14--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=13--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=12--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=11--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=10--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=9--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=8--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=7--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=6--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=5--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=4--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=3--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=2--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=1--size=20 11-30 13:12:57.048 1610-1610/? I/System.out: printListNode=0--size=20
相关文章推荐
- 面试题:用 Java 逆序打印链表
- 剑指offer面试题java实现之题5:逆序打印链表
- 链表的正逆序打印 java语言实现
- 面试:用 Java 逆序打印链表
- Java实现链表逆序
- Java 单链表逆序
- 剑指offer--面试题5:从尾到头打印链表--Java实现
- JAVA实现从尾到头打印链表(《剑指offer》)
- 链表:检测是否有环,是否相交,删除节点,插入节点,打印节点,建立节点,节点排序,节点逆序,
- 从尾到头打印链表(java)
- 剑指offer面试题5 从头到尾打印链表(java)
- java从尾到头打印链表
- 剑指Offer—— 题5 从尾到头打印链表 Java版
- 【程序24】TestNumber.java 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
- 链表的插入、删除、逆序打印、输出倒数第N个、链表逆序
- 剑指offer面试题5 从头到尾打印链表(java)
- java经典算法_023给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
- 【剑指offer】面试题5:从尾到头打印链表 java
- java版的单向链表的逆序输出
- java实现单链表之逆序