LeetCode解题记录(24)——两两交换链表中的节点
2020-01-13 17:03
281 查看
LeetCode解题记录——两两交换链表中的节点
题目说明
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
测试样例
输入:1->2->3->4
输出:2->1->4->3
题意理解
两两交换指的是每两个元素交换一下位置,不具有传递性,可以看作一个一个的块,块内元素进行转换。
解题方案
为了减少代码量,在整个链表前加了一个无意义的头节点,使得头节点与其他节点有同等地位。
/** * 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 *h = new ListNode(0);//空头节点 h->next = head; ListNode *a = h,*b = head; while(b!=NULL&&b->next!=NULL){//转向 a->next = b->next; b->next = a->next->next; a->next->next = b; a = a->next->next;//向后移动 b = a->next; } return h->next; } };
所有代码都可以在我的github上找到:LeetCode
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Leetcode 24 两两交换链表中的节点【链表】
- LeetCode-24-两两交换链表中的节点
- leetcode 24-两两交换链表中的节点
- LeetCode 24 两两交换链表中的节点
- [LeetCode_24] Swap Nodes in Pairs_两两交换链表中的节点
- LeetCode 24 两两交换链表中的节点
- LeetCode24 Swap Nodes in Pairs 成对交换链表节点
- [Leetcode] 24. 两两交换链表中的节点 java
- 24. 两两交换链表中的节点
- (Java) LeetCode 24. Swap Nodes in Pairs —— 两两交换链表中的节点
- LeedCode---【24】【两两交换链表节点】
- Swap Nodes in Pairs 链表两两交换节点@LeetCode
- (Java) LeetCode 24. Swap Nodes in Pairs —— 两两交换链表中的节点
- LeetCode-24 Swap Nodes in Pairs(链表中按要求交换节点)
- leetcode-24,交换链表相邻节点,递归实现
- 【Leetcode】24. 两两交换链表中的节点
- leetCode 24. Swap Nodes in Pairs (双数交换节点) 解题思路和方法
- LeetCode----两两交换链表中的节点
- leetcode刷题python之两两交换链表中的节点
- LeetCode 24. 两两交换链表中的节点