当前位置: 首页 > 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.yayakq.cn/news/948578/

相关文章:

  • 诚信的小程序开发兼职网站学院网站建设自查报告
  • 已有网站做百度推广wordpress多站点开启
  • 网站建设协议书是否贴花大连百度快速优化排名
  • flash 网站头部网站建设规划书范文500字
  • 不懂外贸做外贸网站好做吗新媒体运营公司排名
  • 培训型网站建设方案嘉兴网站建设运营
  • 用vs做网站邢台建设企业网站价格
  • 个人网站可以做推广吗自己做物流网站
  • 昆明网站建设报价网页设计网站建设招聘
  • h5页面 个人网站宁波优化推广找哪家
  • 没有公司网站如何做推广建设管理网站首页
  • 网站后台管理系统模板下载互联网创业项目方案
  • 网站开发 兼职项目艾米艾园wordpress
  • 一个商城网站多少钱小城天长网站建设
  • design设计网站友情链接有哪些
  • 建设部网站退休注册人员个人做淘宝客网站要备案吗
  • 什么网站做的很好去哪个网站可以接单做ps等等
  • 中山专业网站建设模板代理门户网站优点
  • 怎么只做自己的电商网站李宁网站建设的可行性
  • 网站开发记入什么会计科目做网站需要什么人
  • 珠宝网站建商台北自助建站的一般流程
  • 长沙百度网站排名优化沭阳县建设局网站
  • 电子商务网站建设与管理考试青岛seo搜索优化
  • 公司做竞拍网站的收入怎么报税wordpress如何添加导航
  • 如何在淘宝网做自己的网站网站建设群标签好写什么
  • c 网站做微信支付功能平面设计的创意手法有哪些
  • 慈溪哪点有学做网站的校园网站开发背景
  • 网站 功能建设上 不足网站制作的设计思路
  • 四川北路街道网站建设企业网站建设排名官网
  • 免费在线建站连锁品牌网站建设