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

北京 网站设计班级优化大师功能介绍

北京 网站设计,班级优化大师功能介绍,打开网站自动跳转代码,深圳宝安网站制作公司算法思想: 使用了双指针法。下面是详细的算法思想: 1. 引入虚拟头节点(dummy node) 为了处理链表的一些边界情况(比如删除头节点),我们在链表的头部引入了一个虚拟节点 dummy,并让…

算法思想:

使用了双指针法。下面是详细的算法思想:

1. 引入虚拟头节点(dummy node)

  • 为了处理链表的一些边界情况(比如删除头节点),我们在链表的头部引入了一个虚拟节点 dummy,并让它指向原来的头节点 head。这样,无论我们要删除哪个节点,处理过程都变得更加统一和简单。

2. 定义两个指针:快指针(fast)和慢指针(slow)

  • 我们使用两个指针,fastslow,最初都指向虚拟头节点 dummy
  • 快指针 fast 会比慢指针 slow 超前移动 n+1 步。这样,当 fast 指向链表末尾(null)时,slow 刚好指向要删除节点的前一个节点。

3. 移动快指针

  • 首先,快指针 fast 先向前移动 n+1 步,这样可以确保快指针和慢指针之间相隔 n 个节点。

4. 同时移动快慢指针

  • 接下来,快慢指针一起向前移动,直到快指针到达链表的末尾。这时,慢指针 slow 就刚好处于要删除节点的前一个位置。

5. 删除节点

  • 现在,慢指针 slow 的下一个节点就是我们需要删除的节点。通过 slow.next = slow.next.next,我们跳过了这个节点,达到了删除的目的。

6. 返回新的头节点

  • 最后,返回 dummy.next。注意,链表的头节点可能发生了变化(如果原来的头节点被删除),因此我们返回虚拟节点 dummy 的下一个节点作为新的链表头节点。

代码核心思路总结:

  • 通过快慢指针法,仅需遍历链表一次(一次循环)就可以找到倒数第N个节点,并将其删除,时间复杂度为 O(L),其中 L 是链表的长度。空间复杂度为 O(1),因为只用了常数级别的额外空间。

示例分析:

假设输入链表为 [1, 2, 3, 4, 5]n = 2,即删除倒数第二个节点。

  1. 初始化fastslow 都指向虚拟节点 dummy
  2. 快指针前移fast 先向前移动 n+1 = 3 步,指向节点 3
  3. 同步移动:同时移动 fastslow,直到 fast 指向 null,此时 slow 指向节点 3 的前一个节点,即节点 2
  4. 删除节点:通过 slow.next = slow.next.next 删除节点 4,最终链表变为 [1, 2, 3, 5]

这样就成功地删除了倒数第2个节点。

在这里插入图片描述
java 实现代码:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode dummyNode = new ListNode(0);dummyNode.next = head;ListNode slow = dummyNode; //dummyNode,slow,fast都是引用类型ListNode fast = dummyNode;for(int i = 0; i <= n; i++) { //快指针先移动 n+1 步fast = fast.next;}while(fast != null) { //然后快慢指针一起移动slow = slow.next;fast = fast.next;}slow.next = slow.next.next;return dummyNode.next;}
}
http://www.ds6.com.cn/news/88350.html

相关文章:

  • 开一间网站建设有限公司贺贵江seo教程
  • 建站网址是多少山东seo
  • 帝国cms做电影网站软件开发公司简介
  • 做网站编辑工作好不好短链接生成器
  • 1920的网站做字体大小今日油价92汽油价格
  • 福建省住房城乡和城乡建设厅网站网站外链的优化方法
  • 做装修效果图的网站有哪些软件百度网盘在线登录
  • 黄冈市建设工程信息网网站优化软件
  • lpl赛区战绩百度ocpc怎么优化
  • 武汉网站建设哪家好2022网站快速收录技术
  • 昆山网站建设电话全媒体运营师培训费用
  • 合肥专业做网站公司有哪些资源猫
  • 网站备案号是什么意思什么是整合营销概念
  • 网站制作软件都是什么软件如何优化关键词的方法
  • 品牌建设三年行动方案亚马逊seo什么意思
  • 公司网站需求分析跨境电商网站开发
  • 如何做网站的二级页面关键词大全
  • 做黄网站赚钱吗搜索引擎调词工具
  • 河北省建设信息中心网站郑州seo技术服务
  • 简单恶搞编程代码搜索引擎排名优化
  • 青岛景点盐城网站优化
  • 大学生可以做的网站google官网下载
  • 网站建设公司十年乐云seo外国网站怎么进入
  • 2019网站seo百度地图导航手机版免费下载
  • 晋城网站seo河北关键词seo排名
  • 制作网站的模板下载重庆seo优化推广
  • 易优建站上海app开发公司
  • wordpress值得买主题网站外链优化方法
  • 网站各个级别建设费用自己怎么做游戏推广赚钱
  • 北京门户企业网站建设微博营销成功案例8个