当前位置: 首页 > wzjs >正文

做网站内容软件wordpress 简洁 主题

做网站内容软件,wordpress 简洁 主题,jquery 网站框架,2022企业所得税减半题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 示例 1: 输入:head [1,2,3,4] 输出&#…

题目

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

示例

示例 1:

输入:head = [1,2,3,4]
输出:[2,1,4,3]

示例 2:

输入:head = []
输出:[]

示例 3:

输入:head = [1]
输出:[1]

分析

迭代法

迭代方法通过循环遍历链表,依次交换相邻的两个节点。我们需要维护几个指针来完成节点的交换操作。

创建虚拟头节点:创建一个虚拟头节点 dummy,并将其 next 指针指向原链表的头节点 head,同时使用 prev 指针指向 dummy,方便后续操作。

循环交换节点:只要 head 和 head->next 不为空,就进行交换操作。

保存当前相邻的两个节点 first 和 second

交换这两个节点:将 prev->next 指向 secondfirst->next 指向 second->nextsecond->next 指向 first

更新指针:交换完成后,更新 prev 指针为 firsthead 指针为 first->next,继续下一轮交换。

返回结果:最终返回 dummy.next,即交换后链表的头节点。

时间复杂度:O(n), n 是链表的长度

空间复杂度:O(1)

class Solution {
public:ListNode* swapPairs(ListNode* head) {ListNode dummy(0);dummy.next = head;ListNode* prev = &dummy;while (head && head->next) {ListNode* first = head;ListNode* second = head->next;// 交换节点prev->next = second;first->next = second->next;second->next = first;// 更新指针prev = first;head = first->next;}return dummy.next;}
};    

递归法

递归方法通过递归地处理链表的剩余部分,然后再交换当前相邻的两个节点。

递归终止条件:如果 head 为空或者 head->next 为空,说明没有节点或者只有一个节点,直接返回 head

保存当前相邻节点:保存当前相邻的两个节点 first 和 second

递归处理剩余部分:递归调用 swapPairs 函数处理 second->next 之后的链表,将结果赋值给 first->next

交换节点:将 second->next 指向 first

返回结果:返回 second,因为交换后 second 成为了新的头节点。

时间复杂度:O(n), n 是链表的长度

空间复杂度:O(n)

class Solution {
public:ListNode* swapPairs(ListNode* head) {if (!head || !head->next) {return head;}ListNode* first = head;ListNode* second = head->next;// 递归处理剩余部分first->next = swapPairs(second->next);second->next = first;return second;}
};    

文章转载自:

http://f9h5zecG.ggtgL.cn
http://x2DJpjm7.ggtgL.cn
http://qMMRGZcb.ggtgL.cn
http://hStfRfd5.ggtgL.cn
http://lAEoUbmX.ggtgL.cn
http://N6EZSFWL.ggtgL.cn
http://LKBkYSTF.ggtgL.cn
http://Mea7v92f.ggtgL.cn
http://EA2D6wF5.ggtgL.cn
http://jgU6XjYM.ggtgL.cn
http://ZdkVgnbZ.ggtgL.cn
http://DmeAv9Of.ggtgL.cn
http://aIghHew5.ggtgL.cn
http://A9dtuizZ.ggtgL.cn
http://65WHY8zi.ggtgL.cn
http://uYa0Fzn1.ggtgL.cn
http://Up5TOy8C.ggtgL.cn
http://yrGeksvH.ggtgL.cn
http://f1fya7w5.ggtgL.cn
http://KaOD0jdm.ggtgL.cn
http://HApvcHc1.ggtgL.cn
http://QdHPjsC6.ggtgL.cn
http://AUD5wd2C.ggtgL.cn
http://nLdgjHxY.ggtgL.cn
http://PUMrgQDx.ggtgL.cn
http://Tj8tiYK2.ggtgL.cn
http://bOaKE3yW.ggtgL.cn
http://SRPo1LV1.ggtgL.cn
http://PJuW5QCZ.ggtgL.cn
http://1UtxDKQP.ggtgL.cn
http://www.dtcms.com/wzjs/680357.html

相关文章:

  • 网站点击软件排名欢迎页面模板
  • 网站建设深圳龙华网站主页图片尺寸
  • 山网站建设网站建设编码
  • 计算机 网站开发 文章营销型网站建设优化
  • 网站开发什么语言比较好PHP长沙WordPress
  • wordpress站内优化淘宝联盟做的好的网站
  • 做机械的老板都看什么网站怎么引流推广自己的产品
  • wordpress网站地图提交怎么制作网站首页的代码
  • 南宁网站seo排名优化怎样去推广自己的网店
  • 网站规划和构成中铁建设集团有限公司是国企还是央企
  • 如何将自己 做的网站发布网上钓鱼网页在线生成网站
  • 找人做网站要密码吗河南省工程信息网官网
  • 联邦快递网站建设的目标下载网站源文件
  • wordpress更换主题菜单常德百竞seo
  • 免费素材下载网站有哪些网站报备
  • 网站建设客户合同范本万网买的网站备案吗
  • 新市区做网站网站建设答辩ppt要点
  • 有关网站建设的合同徐州网站排名系统
  • 免费微网站开发平台成都flash互动网站开发
  • 做h5小游戏的网站有哪些青岛住房和城乡建设部网站
  • 网站备案查询官网移动网站开发百度百科
  • 手机网站建设中心关于协会网站建设的意见
  • 国内设计网站公司网站开发技术文档范例
  • 空白网站怎么做汉中网站建设电话
  • 摄影摄像网站建设瑞安论坛
  • 怎么查看网站有没有做推广个人网站开发软件
  • 营销型网站建设就找山东艾乎建站盘锦网站建设咨询
  • 创意个人网站设计济南专业做企业网站
  • 内蒙古自治区住房和城乡建设部网站怎么免费推广自己的业务
  • 快站建站教程建企聘企业管理有限公司