struct ListNode {
int val;
ListNode* next;
ListNode(int x): val(x), next(nullptr) {}
};
class Solution {
public:
ListNode* swapListNode(ListNode* head) {
ListNode* dummy = new ListNode(0); // 创建虚拟头节点
dummy->next = head; // 将虚拟头节点指向head,这样方面以后做删除头节点操作
ListNode* cur = dummy;
while(cur->next != nullptr && cur->next->next != nullptr) {
ListNode* tmp = cur->next; // 记录临时节点
ListNode* tmp1 = cur->next->next->next;
cur->next = cur->next->next; // 第1步
cur->next->next = tmp; // 第2步
cur->next->next->next = tmp1; // 第3步
cur = cur->next->next;
}
return dummy->next;
}
};
【LeetCode-24 | 两两交换链表中的节点】
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 10月30日面试题 题目 解析 递归实现。给定一个单向链表,首先交换最前面的两个节点,然后递归执行第三个节点开始的...
- 题目描述 给定一个链表,两两交换其中相邻的节点(结点进行交换而不是简单地进行值交换),并返回交换后的链表。 示例:...
- 题目地址:https://leetcode-cn.com/problems/swap-nodes-in-pairs...
- 2020-10-13 打卡题-链表,节点交换 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是...