[LeetCode] Swap Nodes in Pairs
2012-11-19 17:07
429 查看
Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given
Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
利用三个指针p, pPre, pPrePre来操作,画个图就比较清晰了
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.
利用三个指针p, pPre, pPrePre来操作,画个图就比较清晰了
/** * 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) { // Start typing your C/C++ solution below // DO NOT write int main() function if (head == NULL) return NULL; ListNode *pPrePre = NULL; ListNode *pPre = NULL; ListNode *p = head; while(p && p->next) { pPre = p; p = p->next; ListNode *pNext = p->next; if (pPre == head) head = p; if (pPrePre) pPrePre->next = p; p->next = pPre; pPre->next = pNext; pPrePre = pPre; p = pNext; } return head; } };
相关文章推荐
- Leetcode 24 Swap Nodes in Pairs
- leetcode 24 Swap Nodes in Pairs
- LeetCode_Swap Nodes in Pairs
- leetcode:Swap Nodes in Pairs
- leetcode: Swap Nodes in Pairs
- Swap Nodes in Pairs Leetcode Python
- LeetCode: Swap Nodes in Pairs
- [leetcode] 24. Swap Nodes in Pairs
- 【LeetCode】Swap Nodes in Pairs
- [leetcode] Swap Nodes in Pairs
- 【C++】【LeetCode】24. Swap Nodes in Pairs
- LeetCode题解: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
- LeetCode - 24. Swap Nodes in Pairs
- 【LeetCode】011 Swap Nodes in Pairs 两两换位
- LeetCode --- 24. Swap Nodes in Pairs
- Leetcode Swap Nodes in Pairs