/**
* 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) {
ListNode* ans=new ListNode(0);
ans->next=head;
ListNode* q=ans;
ListNode* p=ans;
int i=1;
while(p!=NULL){
p=p->next;
if(i){
i=0;
}
else{
if(p!=NULL){
p=p->next;
q->next->next->next=q->next;
q->next=q->next->next;
q->next->next->next=p;
p=q->next->next;
q=p;
}
i=1;
}
}
return ans->next;
}
};
LeetCode #24 两两交换链表中的节点
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 题目描述 给定一个链表,两两交换其中相邻的节点(结点进行交换而不是简单地进行值交换),并返回交换后的链表。 示例:...
- 题目地址:https://leetcode-cn.com/problems/swap-nodes-in-pairs...
- 题目 swap-nodes-in-pairs给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单...
- 中文题目 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 示例: 说明: 你的算法只能使用常数的额外空...