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

一个人可以做几个网站负责人什么是网络营销网络营销有哪些内容

一个人可以做几个网站负责人,什么是网络营销网络营销有哪些内容,太原网页设计,机械设计网站推荐内容介绍 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head [1,2,3,4] 输出&#xff…

内容介绍

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

示例 1:

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

示例 2:

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

示例 3:

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

提示:

  • 链表中节点的数目在范围 [0, 100] 内
  • 0 <= Node.val <= 100

完整代码

 struct ListNode* swapPairs(struct ListNode* head) {if (head == NULL || head->next == NULL) {return head;}struct ListNode* newHead = head->next;head->next = swapPairs(newHead->next);newHead->next = head;return newHead;
}

思路详解

  1. 功能描述: 该函数swapPairs接收一个链表的头节点head,并返回交换后的链表头节点。交换规则是:每两个相邻的节点进行交换。如果链表中的节点数为奇数,则最后一个节点保持不变。

  2. 递归终止条件

    • 当链表为空(head == NULL)或链表中只有一个节点(head->next == NULL)时,无需交换,直接返回当前头节点head
  3. 递归过程

    • 首先,定义一个新的头节点newHead,指向当前头节点head的下一个节点。这是因为交换后,原来的第二个节点将成为新的头节点。
    • 接着,将当前头节点head的下一个节点的指针指向下一对节点交换后的头节点。这里使用了递归调用swapPairs(newHead->next),实现了链表的递归交换。
    • 然后,将新的头节点newHead的下一个节点指向当前头节点head,完成两两交换。
    • 最后,返回新的头节点newHead
  4. 递归展开过程: 假设链表为:1 -> 2 -> 3 -> 4 -> 5

    • 第一次调用:head = 1,newHead = 2。交换后,链表变为:2 -> 1 -> 3 -> 4 -> 5
    • 第二次调用:head = 3,newHead = 4。交换后,链表变为:2 -> 1 -> 4 -> 3 -> 5
    • 第三次调用:head = 5,由于只有一个节点,直接返回,无需交换。
  5. 递归返回过程

    • 在递归返回过程中,每一层都会完成两两节点的交换,并将新的头节点返回给上一层,最终形成完整的交换后的链表。

知识点精炼

一、链表基本概念

  1. 链表是一种常见的基础数据结构,由一系列节点组成。
  2. 每个节点包含两部分:数据域(存储数据)和指针域(指向下一个节点)。
  3. 链表的第一个节点称为头节点,最后一个节点的指针指向空。

二、节点两两交换核心知识点

  1. 递归思想:通过递归调用实现节点交换,简化代码结构。
  2. 递归终止条件:当链表为空或只剩一个节点时,无需交换,直接返回头节点。
  3. 交换过程:
    • 定义新的头节点newHead,指向原头节点的下一个节点。
    • 将原头节点的下一个节点指向下一对节点交换后的头节点。
    • 将新头节点的下一个节点指向原头节点,完成两两交换。

三、注意事项

  1. 交换过程中,需保持链表不断裂,正确处理指针指向。
  2. 递归调用时,确保传入正确的参数,避免出现无限递归。
  3. 考虑链表节点数为奇数的情况,最后一个节点保持不变。

四、实际应用

  1. 节点两两交换可用于解决一些特定问题,如链表排序、链表重构等。
  2. 掌握节点交换技巧,有助于提高链表操作的灵活性和代码质量。

 

http://www.yayakq.cn/news/312365/

相关文章:

  • 国内地铁建设公司网站外贸淘宝网站建设
  • 小九自助建站室内设计案例网
  • 通州郑州阳网站建设同步wordpress到微信
  • 网站服务器和网站注册个体可以做网站吗
  • 男人最爱上的做网站企业网页建设公司24小时接单
  • 福州网站设计企业网站建站装修公司资质
  • 南阳住房和城乡建设管理局网站南平抖音搜索排名seo软件
  • 做运动户外的网站都有哪些丹阳市房产信息网
  • 厦门 外贸商城网站大连企业信息查询系统官网
  • 信用网站建设意义南昌专业的网站建设公司
  • 福州网站建设服务学中文网站
  • 做网站开发数据库怎么写网站死链怎么删除
  • 邢台建设规划网站在本地怎么做网站
  • 大连网站制作师怎么做注册账号的网站
  • 漫画网站开发源码建站公司用哪家服务器
  • 怎么做刷会员的网站免费的网站软件正能量推荐
  • 企业网站轮播图怎么做网站开发需要后台吗
  • 自定义导航网站 源码网站建设的成本
  • 想做一个部门的网站怎么做施工企业怎样报考a证
  • 浙江二建建设集团有限公司网站网络营销策划是指
  • 诏安县城乡建设局网站网站建设与网站管理
  • 农业信息网站建设概念百度一下电脑版首页网址
  • 哪个网站做视频收益高郑州建设银行网点地址查询
  • 山东外贸网站是什么意思wampserver 架设wordpress 主题错误
  • 做网站协调建设电子商务网站背景
  • 镇平县两学一做网站lnmp一键包wordpress
  • 深圳市手机网站建设品牌wordpress优惠券发放插件
  • 大学校园网站模板图片wordpress官方的三个主题好排名
  • 网站管理端怎么做上海网站建设百度推广公司哪家好
  • 诺基亚官方网站大站网站建设