当前位置:网站首页>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. 反转链表 相同
边栏推荐
- 使用QT设计师界面类创建2个界面,通过按键从界面1切换到界面2
- This 17-year-old hacker genius cracked the first generation iPhone!
- Matlab reference
- C # realizes crystal report binding data and printing 3-qr code barcode
- Ant financial's sudden wealth has not yet begun, but the myth of zoom continues!
- Disorganized series
- Independent development is a way out for programmers
- Summary of optimization scheme for implementing delay queue based on redis
- 力扣解法汇总729-我的日程安排表 I
- Winedt common shortcut key modify shortcut key latex compile button
猜你喜欢
漏洞复现----48、Airflow dag中的命令注入(CVE-2020-11978)
Winedt common shortcut key modify shortcut key latex compile button
Compter le temps d'exécution du programme PHP et définir le temps d'exécution maximum de PHP
MySQL之知识点(六)
統計php程序運行時間及設置PHP最長運行時間
Count the running time of PHP program and set the maximum running time of PHP
Alpha conversion from gamma space to linner space under URP (II) -- multi alpha map superposition
MySQL queries the latest qualified data rows
Beijing internal promotion | the machine learning group of Microsoft Research Asia recruits full-time researchers in nlp/ speech synthesis and other directions
Oracle Recovery Tools ----oracle数据库恢复利器
随机推荐
毫无章法系列
Which is more cost-effective, haqu K1 or haqu H1? Who is more worth starting with?
华为云云原生容器综合竞争力,中国第一!
Cartoon: interesting pirate problem (full version)
排错-关于clion not found visual studio 的问题
QT控制台打印输出
Is it safe for China Galaxy Securities to open an account? How long can I buy stocks after opening an account
Knowledge points of MySQL (6)
这个17岁的黑客天才,破解了第一代iPhone!
Machine learning 01: Introduction
网络威胁分析师应该具备的十种能力
漫画:一道数学题引发的血案
Cartoon: a bloody case caused by a math problem
论文阅读_中文NLP_LTP
Oracle Recovery Tools ----oracle数据库恢复利器
Knowledge points of MySQL (7)
EPM相关
flask接口响应中的中文乱码(unicode)处理
Disorganized series
解读:如何应对物联网目前面临的安全问题?