当前位置:网站首页>LeetCode 练习——206. 反转链表
LeetCode 练习——206. 反转链表
2022-07-05 17:22:00 【SK_Jaco】
1.题目描述
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
示例 1:
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
示例 2:
输入:head = [1,2]
输出:[2,1]
示例 3:
输入:head = []
输出:[]
2.解题思路与代码
2.1 解题思路
这道题比较简单,但是也是面试中非常常见的一道题目。题目要求反转链表,可以暴力使用栈解答,但是这样做不够精简在面市场上是得不到分的,并且需要两次遍历。因此使用三个引用变量 pre、next、curr 来指代上一个节点、下一个节点和当前节点。开始将 curr 指向 头节点并从头节点开始进行遍历,next 指向当前节点的下一个节点,然后让当前节点的 next 指向前一个节点,也就是 pre。再往后移动 pre 和 curr,使 pre 指向当前节点 curr ,当前节点 curr 后移指向 next。下面题目示例 1->2->3->4->5->NULL 进行图解:
- 首先 curr 指向头节点 1,pre 和 next 指向 null;
- 然后 next 指向 curr 的下一个节点 2;
- curr 的 next 指向 pre,并且 curr 后移指向 2;
- 重复上面步骤,直到 curr 指向 null,此时返回 pre 指向节点,即反转后的头节点
2.2 代码
class Solution {
public ListNode reverseList(ListNode head) {
if (head == null) {
return null;
}
ListNode pre = null;
ListNode next = null;
ListNode curr = head;
while (curr != null) {
next = curr.next;
curr.next = pre;
pre = curr;
curr = next;
}
return pre;
}
}
2.3 测试结果
通过测试
3.总结
- 这是链表中非常简单的应用,面试中常出现
- 使用 pre、curr、next 三个变量来完成反转,整个流程不难思路整理清楚即可
- 这道题与 剑指 Offer 24. 反转链表 相同
边栏推荐
- VBA drives SAP GUI to realize office automation (II): judge whether elements exist
- Machine learning 02: model evaluation
- 证券网上开户安全吗?证券融资利率一般是多少?
- 如何修改mysql字段为自增长字段
- 漫画:有趣的海盗问题 (完整版)
- Server configuration jupyter environment
- The five most difficult programming languages in the world
- Knowledge points of MySQL (7)
- C # realizes crystal report binding data and printing 3-qr code barcode
- CVPR 2022最佳学生论文:单张图像估计物体在3D空间中的位姿估计
猜你喜欢
Thesis reading_ Chinese NLP_ LTP
MySQL queries the latest qualified data rows
IDEA 项目启动报错 Shorten the command line via JAR manifest or via a classpath file and rerun.
神经网络自我认知模型
北京内推 | 微软亚洲研究院机器学习组招聘NLP/语音合成等方向全职研究员
基于YOLOv3的口罩佩戴检测
论文阅读_医疗NLP模型_ EMBERT
In depth understanding of redis memory obsolescence strategy
Kafaka technology lesson 1
Oracle缩表空间的完整解决实例
随机推荐
PMP认证需具备哪些条件啊?费用多少啊?
独立开发,不失为程序员的一条出路
Example tutorial of SQL deduplication
Why is February 28 in the Gregorian calendar
漫画:一道数学题引发的血案
SQL Server(2)
Use QT designer interface class to create two interfaces, and switch from interface 1 to interface 2 by pressing the key
WR | Jufeng group of West Lake University revealed the impact of microplastics pollution on the flora and denitrification function of constructed wetlands
ClickHouse(03)ClickHouse怎么安装和部署
查看自己电脑连接过的WiFi密码
Machine learning 01: Introduction
flask接口响应中的中文乱码(unicode)处理
漫画:寻找无序数组的第k大元素(修订版)
Domain name resolution, reverse domain name resolution nbtstat
较文心损失一点点性能提升很多
Read libco save and restore the on-site assembly code
排错-关于clion not found visual studio 的问题
EPM相关
Customize the theme of matrix (I) night mode
网络威胁分析师应该具备的十种能力