leetcode C++ 链表 24. 两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换
生活随笔
收集整理的這篇文章主要介紹了
leetcode C++ 链表 24. 两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、思路:
? ? 在頭結點前加一個啞結點,遍歷,判斷是否當前節點的后兩個節點是否為空,為空交換一次,最后返回啞結點的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;} };?
總結
以上是生活随笔為你收集整理的leetcode C++ 链表 24. 两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ leetcode 19. 删除链
- 下一篇: leetcode C++ 48. 旋转图