链表编程题专题--逆序链表
来源:互联网 发布:51hei单片机论坛 编辑:程序博客网 时间:2024/06/15 03:31
1.题目描述
输入一个链表,从尾到头打印链表每个节点的值。(来源于牛客网)
2.解法
重点是如何能保持各个节点不丢失,节点之间不成环,逻辑简单,考核代码实现的能力。思路:要记录下当前节点listNode、下一个节点nextNode以及再下一个节点temp,然后将nextNode的next改为当前节点listNode,这样就实现了两个节点逆序。接下来让listNode改为nextNode,nextNode改为temp,也就是listNode和nextNode往后移一位,并重新给temp赋值为新nextNode的next节点,这样实现前两个元素逆序的同时,能保留住第三个元素不丢失。
注意:第一次头结点和第二个节点逆序前,要先将头结点的next赋空,不然nextNode.next = listNode的时候会使前两个节点成环。
具体代码如下:
/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.util.ArrayList;public class Solution { public static ArrayList<Integer> printListFromTailToHead(ListNode listNode) { ArrayList<Integer> arr = new ArrayList<>(); if (listNode == null) { return arr; } ListNode nextNode = listNode.next; listNode.next = null; while(nextNode != null) { ListNode temp = nextNode.next; nextNode.next = listNode; listNode = nextNode; nextNode = temp; if(temp == null){ break; } } while(listNode != null){ arr.add(listNode.val); listNode = listNode.next; } return arr; }}
阅读全文
0 0
- 链表编程题专题--逆序链表
- 链表编程专题--分组逆序链表
- 链表编程题专题--Reverse Nodes in k-Group(最后几个节点不足一组的不逆序)
- java专题——单向链表(逆序)
- 编程算法 - 链表逆序 代码(C)
- 编程之美-链表专题
- 链表编程题专题--删除重复节点
- 链表的逆序
- 链表逆序
- 链表逆序
- 链表逆序小结
- 逆序链表
- 链表逆序 :华硕
- 链表逆序
- 链表逆序
- 链表逆序
- 链表逆序
- 实现链表逆序
- css3弹性布局——display:flex
- Multiplication Table (二分)
- Ubuntu桌面版文件共享
- web测试方法总结(三)
- intellij idea 添加jar包
- 链表编程题专题--逆序链表
- clion安装配置
- ADB
- while(cin && cin.get() != '\n') continue;
- linux-基础-网络
- 程序员实现财务自由的9个阶段,你达到了哪一段?
- 三星高级工程师演讲 | 企业级SSD发展趋势
- 前端市场要求
- jQuery操作组件