[Leetcode] 24. Swap Nodes in Pairs 解题报告
2016-12-14 03:07
363 查看
题目:
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.
思路:
很简单的一道题目,但是修改链表指针的时候一定要注意先后顺序。建议面试的时候在白板上画出来,以免出错。重要的事情再说一遍:虚拟头结点真的很有用^_^。
代码:
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.
思路:
很简单的一道题目,但是修改链表指针的时候一定要注意先后顺序。建议面试的时候在白板上画出来,以免出错。重要的事情再说一遍:虚拟头结点真的很有用^_^。
代码:
/** * 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) return head; ListNode pre_node(0); ListNode* p = &pre_node; p->next = head; while(p->next && p->next->next) { ListNode* q = p->next->next; p->next->next = q->next; q->next = p->next; p->next = q; p = p->next->next; } return pre_node.next; } };
相关文章推荐
- [leetcode] 24. 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: Swap Nodes in Pairs 解题报告
- LeetCode解题报告—— Swap Nodes in Pairs & Divide Two Integers & Next Permutation
- 【LeetCode】Swap Nodes in Pairs 解题报告
- [LeetCode] Swap Nodes in Pairs 解题报告
- 【LeetCode】Swap Nodes in Pairs 解题报告
- Swap Nodes in Pairs LeetCode 解题报告
- leetCode 24. Swap Nodes in Pairs (双数交换节点) 解题思路和方法
- LeetCode解题报告--Swap Nodes in Pairs
- LeetCode 24. Swap Nodes in Pairs
- [leetcode] 【链表】24. Swap Nodes in Pairs
- (Java)LeetCode-24. Swap Nodes in Pairs
- leetcode 24. Swap Nodes in Pairs
- leetCode 24. Swap Nodes in Pairs (双数交换节点) 解题思路和方法
- leetcode_24. Swap Nodes in Pairs C++
- **LeetCode 24. Swap Nodes in Pairs