
剑指 offer之反转链表_java
发布日期:2021-05-07 02:40:29
浏览次数:16
分类:精选文章
本文共 700 字,大约阅读时间需要 2 分钟。
题目:反转链表
题目描述
输入一个链表,反转链表后,输出新链表的表头。解题思路:迭代
假设存在链表 1 → 2 → 3 → Ø,我们想要把它改成 Ø ← 1 ← 2 ← 3。 在遍历列表时,将当前节点的 next 指针改为指向前一个元素。由于节点没有引用其上一个节点,因此必须事先存储其前一个元素。在更改引用之前,还需要另一个指针来存储下一个节点。然后移动新链表的头指针,让它始终指向新链表头部,继续处理原链表的节点,即之前指针存放的后继,循环往复代码实现:
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode ReverseList(ListNode head) { ListNode pre = null;//建立一个新的节点用来存放结果 ListNode cur = head; while (cur != null) { // 先把后继节点保存起来 ListNode Next = cur.next; cur.next = pre; // 各自往前走一步 pre = cur;//移动新链表的头指针,让它始终指向新链表头部 cur = Next;//继续处理原链表的节点,即之前指针存放的后继,循环往复 } //返回新的头引用 return pre; }}
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年03月23日 23时28分03秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
go等待N个线程完成操作总结
2019-03-06
消息队列 RocketMQ 并发量十万级
2019-03-06
ReactJs入门教程-精华版
2019-03-06
乐观锁悲观锁应用
2019-03-06
简单说说TCP三次握手、四次挥手机制
2019-03-06
.net Core 使用IHttpClientFactory请求
2019-03-06
多线程之旅(准备阶段)
2019-03-06
Python 之网络式编程
2019-03-06
MySql5.5安装步骤及MySql_Front视图配置
2019-03-06
springmvc Controller详解
2019-03-06
mybatis #{}和${}区别
2019-03-06
Java Objects工具类重点方法使用
2019-03-06
Java内存模型(JMM)
2019-03-06
AQS相关
2019-03-06
abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)
2019-03-06