LeetCode Swap Nodes in Pairs交换链表中的两个节点
来源:互联网 发布:下载软件评测 编辑:程序博客网 时间:2024/06/06 10:14
Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given 1->2->3->4
, you should return the list as 2->1->4->3
.
Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
入门题,注意:
1 保存next节点
2 需要使用三个节点指针
3 保存好链表头指针
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:ListNode *swapPairs(ListNode *head) {if (!head || !head->next) return head;ListNode *pre = head->next;ListNode *cur = pre->next;pre->next = head;head->next = cur;head = pre;pre = pre->next;while (pre){ListNode *post;cur = pre->next;if (cur && cur->next) post = cur->next;else break;pre->next = post;pre = post->next;post->next = cur;cur->next = pre;pre = cur;}return head;}};
2014-1-25 update
ListNode *swapPairs(ListNode *h){ListNode dummy(0);dummy.next = h;ListNode *pre = &dummy;while (h && h->next){ListNode *t = h->next->next;pre->next = h->next;h->next->next = h;h->next = t;pre = h;h = t;}return dummy.next;}
- LeetCode Swap Nodes in Pairs交换链表中的两个节点
- [LeetCode]Swap Nodes in Pairs 交换节点
- Swap Nodes in Pairs 链表交换相邻的节点
- LeetCode24 Swap Nodes in Pairs 成对交换链表节点
- Leetcode Swap Nodes in Pairs 交换链表的节点对
- Leetcode #24. Swap Nodes in Pairs 链表节点交换 解题报告
- 451.Swap Nodes in Pairs-两两交换链表中的节点(容易题)
- Swap Nodes in Pairs 链表两两交换节点@LeetCode
- LeetCode-24 Swap Nodes in Pairs(链表中按要求交换节点)
- LeetCode 24. Swap Nodes in Pairs(交换节点)
- LeetCode 24. Swap Nodes in Pairs ***** 双节点交换
- [LeetCode] Swap Nodes in Pairs(成对交换节点)
- (LeetCode)Swap Nodes in Pairs --- 交换两个相邻的结点
- [leetcode 24]Swap Nodes in Pairs-----成对翻转链表中的节点
- [LeetCode]Swap Nodes in Pairs 成对交换
- Swap Nodes in Pairs --成对交换链表节点(重重重)
- Swap Nodes in Pairs(交换链表相邻的两个结点)
- 24. Swap Nodes in Pairs(每两个相邻节点进行一次交换)
- linux 删除自动备份的文件
- windows 屏幕坐标 窗口坐标 客户区坐标 逻辑坐标 设备坐标之间的关系及转换
- 第14周项目3--成绩处理函数版
- Linux系统中恢复删除文件的方法
- 科里定律:坚守一个目标
- LeetCode Swap Nodes in Pairs交换链表中的两个节点
- CI对整个页面输出内容处理(去掉整个页面空格,注释什么的)
- 最全的男性职场着装常识
- 搞移动互联网站的三板斧
- AsyncSocke使用
- HDU 2039 - 三角形
- 线程控制基本方法
- 网络传输协议概述——第二讲:TCP/IP协议概述
- 计算机网络之物理层笔记