24.两两交换链表中的节点:粗暴易懂的方法(几个临时变量)
【LetMeFly】24.两两交换链表中的节点:粗暴易懂的方法(几个临时变量)
力扣题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
示例 1:

输入:head = [1,2,3,4] 输出:[2,1,4,3]
示例 2:
输入:head = [] 输出:[]
示例 3:
输入:head = [1] 输出:[1]
提示:
- 链表中节点的数目在范围
[0, 100]
内 0 <= Node.val <= 100
方法一:粗暴易懂的方法(几个临时变量)
遇到链表的题不用怕,可以先用几个临时变量将需要记录的节点记录下来,之后随意更改要重新指向的next。
1 |
|
对于本题,我们可以使用4个临时变量:
- 0 -> 1 -> 2 -> 3
1
2
3
4
5
62. ```first```指向待处理的第一个节点(1)
3. ```second```指向待处理的第二个节点(2)
4. ```third```指向还未处理到的第一个节点(4,可能为空)
由于需要进行如下更改:
| |
| ↓ |
| |
0 -> 2 -> 1 -> 3
1 |
|
Python
1 |
|
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/132128294
24.两两交换链表中的节点:粗暴易懂的方法(几个临时变量)
https://blog.letmefly.xyz/2023/08/06/LeetCode 0024.两两交换链表中的节点/