[LeetCode OJ]Swap Nodes in Pairs
2014-11-17 20:08
246 查看
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.
开始的时候没有考虑last这个指针变量,于是第二组之后跟前面的就连不上了。。。
觉得这道题也还不错。
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.
/** * 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 == NULL) return head; ListNode* p1 = head; ListNode* p2 = head->next; ListNode* temp = NULL; if(p2 != NULL) head = p2; else return head; ListNode* last = NULL; while(p1 != NULL && p2 != NULL) { if(last != NULL) last->next = p2; temp = p2->next; p1->next = temp; p2->next = p1; last = p1; p1 = temp; if(p1 != NULL) p2 = p1->next; else break; } return head; } };
开始的时候没有考虑last这个指针变量,于是第二组之后跟前面的就连不上了。。。
觉得这道题也还不错。
相关文章推荐
- LeetCode OJ--Swap Nodes in Pairs
- LeetCode OJ:Swap Nodes in Pairs(成对交换节点)
- LeetCode OJ 之 Swap Nodes in Pairs (交换成对相邻结点的值)
- 【LeetCode OJ】Swap Nodes in Pairs
- [LeetCode OJ]Swap Nodes in Pairs
- LeetCode OJ - Swap Nodes in Pairs
- 【LeetCode OJ】Swap Nodes in Pairs
- Leetcode OJ 24 Swap Nodes in Pairs [Medium]
- LeetCode OJ:Swap Nodes in Pairs
- (算法分析Week11)Swap Nodes in Pairs[Medium]
- Swap Nodes in Pairs(链表操作)
- LeetCode (24)Swap Nodes in Pairs
- [LeetCode] Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- [LeetCode] Swap Nodes in Pairs
- [leetcode: Python]24. Swap Nodes in Pairs
- [leetcode 26] Swap Nodes in Pairs
- 【链表&交换邻节点】Swap Nodes in Pairs
- 链表 Swap Nodes in Pairs
- [LeetCode] 24. Swap Nodes in Pairs ☆