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

中国网站建设网页设计wordpress企业建站教程

中国网站建设网页设计,wordpress企业建站教程,Wordpress搜索html页面,国家企业信用系统官网题目 给你一个链表的头节点 head 。删除 链表的 中间节点 ,并返回修改后的链表的头节点 head 。 长度为 n 链表的中间节点是从头数起第 ⌊n / 2⌋ 个节点(下标从 0 开始),其中 ⌊x⌋ 表示小于或等于 x 的最大整数。 对于 n 1、2…

题目

给你一个链表的头节点 head 。删除 链表的 中间节点 ,并返回修改后的链表的头节点 head 。
长度为 n 链表的中间节点是从头数起第 ⌊n / 2⌋ 个节点(下标从 0 开始),其中 ⌊x⌋ 表示小于或等于 x 的最大整数。
对于 n = 1、2、3、4 和 5 的情况,中间节点的下标分别是 0、1、1、2 和 2 。

一、代码实现

func deleteMiddle(head *ListNode) *ListNode {if head == nil || head.Next == nil {return nil}var pre *ListNodeslow, fast := head, headfor fast != nil && fast.Next != nil {fast = fast.Next.Nextpre = slowslow = slow.Next}pre.Next = slow.Nextreturn head
}

二、算法分析

1. 核心思路
  • 快慢指针法:通过快指针(一次两步)和慢指针(一次一步)同步遍历链表,当快指针到达末尾时,慢指针正好指向中间节点的前驱
  • 前驱维护:通过pre指针记录慢指针的前驱节点,便于直接修改指针完成删除操作
2. 关键步骤
  1. 边界处理:若链表为空或仅有一个节点,直接返回nil
  2. 指针初始化pre初始化为nilslowfast初始化为头节点
  3. 同步遍历:快指针每次走两步,慢指针每次走一步,同时更新pre为慢指针前驱
  4. 删除操作:当快指针无法继续移动时,通过pre.Next = slow.Next跳过中间节点
3. 复杂度
指标说明
时间复杂度O(n)单次遍历链表
空间复杂度O(1)仅需固定数量的指针变量

三、图解示例

在这里插入图片描述

四、边界条件与扩展

1. 特殊场景验证
  • 单节点链表:输入[5] → 返回nil
  • 双节点链表:输入[1,2] → 变为[1]
  • 偶数长度链表:输入[1,2,3,4] → 中间节点3被删除,变为[1,2,4]
2. 多语言实现
# Python实现(快慢指针)
class Solution:def deleteMiddle(self, head: Optional[ListNode]) -> Optional[ListNode]:if not head or not head.next:return Nonepre, slow, fast = None, head, headwhile fast and fast.next:fast = fast.next.nextpre = slowslow = slow.nextpre.next = slow.nextreturn head
// Java实现(指针同步移动)
class Solution {public ListNode deleteMiddle(ListNode head) {if (head == null || head.next == null) return null;ListNode pre = null, slow = head, fast = head;while (fast != null && fast.next != null) {fast = fast.next.next;pre = slow;slow = slow.next;}pre.next = slow.next;return head;}
}

五、总结与扩展

1. 核心创新点
  • 单次遍历优化:相比两次遍历法(先计算长度再删除),快慢指针法将时间复杂度优化至严格O(n)
  • 前驱动态维护:通过pre指针的同步更新,避免删除时二次遍历查找前驱节点
2. 扩展应用
  • 链表环检测:快慢指针可扩展用于检测链表是否存在环
  • 倒数第K节点:调整快慢指针步差可快速定位特定位置节点
  • 多级链表操作:该模式可推广至需要定位特定位置节点的场景(如分块处理)
3. 工程优化方向
  • 内存安全:显式释放被删除节点的内存(如C/C++)
  • 并发控制:添加锁机制支持多线程环境下的链表操作

文章转载自:

http://8oQH2i2M.jzxqj.cn
http://uuh8TcSK.jzxqj.cn
http://zeR9LDhA.jzxqj.cn
http://LzJ9aMYf.jzxqj.cn
http://OFGpreaq.jzxqj.cn
http://CRp0uX1m.jzxqj.cn
http://SrkLjDqq.jzxqj.cn
http://MnEmVpK1.jzxqj.cn
http://bOMH2rV8.jzxqj.cn
http://Eu32VeAm.jzxqj.cn
http://R9bWqiAf.jzxqj.cn
http://dX1GbSa6.jzxqj.cn
http://KWBlhnfg.jzxqj.cn
http://btkF1sn9.jzxqj.cn
http://kJK10qq0.jzxqj.cn
http://L4s9pZ9c.jzxqj.cn
http://mioUdgzv.jzxqj.cn
http://Bh4DIwWK.jzxqj.cn
http://weaJgIGp.jzxqj.cn
http://toB7eeuz.jzxqj.cn
http://Zsu0KH02.jzxqj.cn
http://kAF9lXAR.jzxqj.cn
http://0feesQ7l.jzxqj.cn
http://fdLX5IxC.jzxqj.cn
http://84UU7d8T.jzxqj.cn
http://lPheI3Js.jzxqj.cn
http://OYPlPouB.jzxqj.cn
http://r773QZ7F.jzxqj.cn
http://BJOcfK37.jzxqj.cn
http://QxhMaiuz.jzxqj.cn
http://www.dtcms.com/wzjs/700275.html

相关文章:

  • wordpress分享视频网站wordpress插件破解下载地址
  • 廊坊做网站厂商定制泰州城乡建设网站
  • 西安网站建设优化服务公司什么平台可以发广告引流
  • 网站建设代码走查个人微信公众平台注册流程
  • 北京网站运营优化公司宁夏网站seo
  • 简洁大方网站建设网站建设职位要求
  • 临沂网站开发多少钱做网站买计划书
  • 怎样建设VR网站做网站如何设计数据库
  • 专门做画册的网站店面设计图片
  • 网站分为四个步骤开发建设做动图的网站
  • 文档下载免费网站微网站建设收费
  • 邢台城乡建设局网站网站权限设计方案
  • 成都百度网站设计公司有哪些网站可以做视频
  • 电子商务网站建设可用性淘宝官网首页入口电脑版网址
  • 织梦网站修改使用教程新手学网站建设
  • 网站外链如何建设阿里云做网站
  • 如何在门户网站做推广方案收费网站解决方案
  • 收录好的网站有哪些制作app开发的公司
  • 不备案的网站很慢大宗商品交易平台
  • 二级域名如何绑定网站上传照片的网站赚钱
  • 做外贸门户网站网站每年要交钱吗
  • 响应式网站模版建站卓企做的网站怎么样
  • 组建网站开发团队电子商务和网站开发 职务
  • 浙江网站wordpress文件类型不支持
  • 网站优化外包多少钱注册公司的网站是什么
  • 规范 加强网站建设管理外包公司劳动合同
  • 服务器和域名都有了 怎么做网站长安seo排名优化培训
  • 官方网站建设投标书网站制作的内容包含
  • 全面的基础微网站开发苏州智能网站建设
  • 用asp做网站流程获取网站访客qq号码代码