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
- java 逆序打印链表的值
- 链表的逆序打印
- 链表的正逆序打印 java语言实现
- 逆序打印链表
- 逆序打印链表
- 逆序打印链表
- 逆序打印单向链表
- 链表之逆序打印
- 链表的创建,删除,插入,逆序,打印
- 单链表(创建,打印,逆序,合并两个有序的链表)
- 链表的插入、删除、逆序打印、输出倒数第N个、链表逆序
- 单链表的逆序打印
- C++链表逆序打印节点
- 剑指offer-逆序打印链表
- 逆置链表以及逆序打印链表
- 剑指offer--指定链表逆序打印
- java 链表逆序
- 剑指offer面试题java实现之题5:逆序打印链表
- process对象方法的介绍,Process.argv的使用
- 《Spring Security教程系列》三.HttpSecurity的使用
- 不隐藏已知文件类型的扩展名,黑客强制文件后缀名,影藏禁用注册表编译器
- sql高级函数汇总
- Java并发多线程进阶-1
- java 逆序打印链表的值
- H5的canvas属性
- Android RadioGroup设置选中,出现两个选中项(参考)
- POJ-3041-Asteroids
- iOS开发屏幕及其他视图层次
- nginx回顾
- Mybatis完全使用指南
- 得分SCORE UVA1585
- 第1章 BashShell命令------------(vim编辑器)