茂名公司网站开发,河北建设工程招标协会网站,淘宝客主题wordpress,wordpress 怎样做模版1. 题目链接#xff1a;24. 两两交换链表中的节点
2. 题目描述#xff1a; 给你一个链表#xff0c;两两交换其中相邻的节点#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题#xff08;即#xff0c;只能进行节点交换#xff09;。 …1. 题目链接24. 两两交换链表中的节点
2. 题目描述 给你一个链表两两交换其中相邻的节点并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题即只能进行节点交换。 示例 1 输入head [1,2,3,4]
输出[2,1,4,3]示例 2 输入head []
输出[]示例 3 输入head [1]
输出[1]提示 链表中节点的数目在范围 [0, 100] 内0 Node.val 100 解法递归
算法思路
递归函数的含义交给你一个链表将这个链表两两交换一下然后返回交换后的头结点函数体先去处理一下第二个结点往后的链表然后再把当前的两个结点交换一下连接上后面处理后的链表递归出口当前结点为空或者当前只有一个结点的时候不用交换直接返回 class Solution {
public:ListNode* swapPairs(ListNode* head) {if(headnullptr||head-nextnullptr) return head;auto tmpswapPairs(head-next-next);auto rethead-next;head-next-nexthead;head-nexttmp;return ret;}
};