當(dāng)前位置:
首頁 >
leetcode C++ 链表 24. 两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换
發(fā)布時間:2025/4/16
40
豆豆
生活随笔
收集整理的這篇文章主要介紹了
leetcode C++ 链表 24. 两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、思路:
? ? 在頭結(jié)點前加一個啞結(jié)點,遍歷,判斷是否當(dāng)前節(jié)點的后兩個節(jié)點是否為空,為空交換一次,最后返回啞結(jié)點的next
二、C++:
class Solution { public:ListNode* swapPairs(ListNode* head) {ListNode *dummpy = new ListNode(-1);dummpy->next = head;ListNode *nowNode = dummpy;while (nowNode->next != NULL && nowNode->next->next != NULL) {ListNode *p1 = nowNode->next;ListNode *p2 = p1->next;nowNode->next = p2;p1->next = p2->next;p2->next = p1;nowNode = p1;}return dummpy->next;} };?
總結(jié)
以上是生活随笔為你收集整理的leetcode C++ 链表 24. 两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ leetcode 19. 删除链
- 下一篇: leetcode C++ 48. 旋转图