LeetCode 之 Swap Nodes in Pairs
2013-11-12 16:43
387 查看
原题:
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.
一看此题,学渣表示会做。。。
不就是用俩指针第一个和第二个然后交换一下ListNode的值么。。。。但是在写代码时还是要注意怎么写的简洁一点,学渣用的是如下方法:
1 用first指向第一个,second指向第二个,用一个temp来作为交换值的临时存值。。。
2 循环的的时候判断second->next 和second->next->next是否为空,都不空则说明还有一对需要交换,用first指向second->next , second指向first的下一个
3
最开始的时候,用second指向一个新的ListNode,然后把second指向head。。。。。就可以利用2所述的循环了,如图所示:
代码如下:
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.
一看此题,学渣表示会做。。。
不就是用俩指针第一个和第二个然后交换一下ListNode的值么。。。。但是在写代码时还是要注意怎么写的简洁一点,学渣用的是如下方法:
1 用first指向第一个,second指向第二个,用一个temp来作为交换值的临时存值。。。
2 循环的的时候判断second->next 和second->next->next是否为空,都不空则说明还有一对需要交换,用first指向second->next , second指向first的下一个
3
最开始的时候,用second指向一个新的ListNode,然后把second指向head。。。。。就可以利用2所述的循环了,如图所示:
代码如下:
class Solution { public: ListNode *swapPairs(ListNode *head) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. if(head==NULL) return NULL; ListNode *first = head; ListNode *second = new ListNode(0); second->next = head; ListNode *temp = new ListNode(0); while(second->next!=NULL && second->next->next!=NULL) { first = second->next; second = first->next; temp->val = second->val; second->val = first->val; first->val = temp->val; } return head; } };
相关文章推荐
- LeetCode 24. Swap Nodes in Pairs
- 【LeetCode】24. Swap Nodes in Pairs
- 【LeetCode with Python】 Swap Nodes in Pairs
- LeetCode_链表操作1—Swap Nodes in Pairs
- leetcode 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 Swap Nodes in Pairs
- Leetcode Swap Nodes in Pairs
- 【leetcode】24. Swap Nodes in Pairs
- [LeetCode]24. Swap Nodes in Pairs
- **LeetCode 24. Swap Nodes in Pairs
- LeetCode | Swap Nodes in Pairs
- leetcode 24. Swap Nodes in Pairs
- 【LeetCode】24. Swap Nodes in Pairs
- leetcode-24-Swap Nodes in Pairs
- LeetCode:Swap Nodes in Pairs