艺客网站首页,广州哪里有网站开发,个人网站可以做商业用途吗,全球速卖通卖家登录入口1. 题目
给定一个链表#xff0c;两两交换其中相邻的节点#xff0c;并返回交换后的链表。
你不能只是单纯的改变节点内部的值#xff0c;而是需要实际的进行节点交换。
示例:
给定 1-2-3-4, 你应该返回 2-1-4-3.2. 解题
2.1 递归
class Solut…1. 题目
给定一个链表两两交换其中相邻的节点并返回交换后的链表。
你不能只是单纯的改变节点内部的值而是需要实际的进行节点交换。
示例:
给定 1-2-3-4, 你应该返回 2-1-4-3.2. 解题
2.1 递归
class Solution {
public:ListNode* swapPairs(ListNode* head) {if(!head || !head-next)return head;ListNode *hn head-next;head-next swapPairs(head-next-next);hn-next head;return hn;}
};2.2 循环
class Solution {
public:ListNode* swapPairs(ListNode* head) {if(!head || !head-next)return head;ListNode *hn head-next, *hnn head-next-next;ListNode *newHead hn, *prev NULL;while(head hn){if(prev)prev-next hn;hnn hn-next;hn-next head;head-next hnn;prev head;head head-next;if(head)hn head-next;elsehn NULL;}return newHead;}
};