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

聊城做网站公司信息中国新闻网最新消息

聊城做网站公司信息,中国新闻网最新消息,wordpress文章错乱,wordpress 有空格【Leetcode】19. 删除链表的第N个节点 1. 题目介绍2. 方法一:计算链表长度逻辑流程:代码复杂度分析 1. 题目介绍 题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,…

【Leetcode】19. 删除链表的第N个节点

    • 1. 题目介绍
    • 2. 方法一:计算链表长度
      • 逻辑流程:
      • 代码
      • 复杂度分析

1. 题目介绍

题目描述

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

示例 1

在这里插入图片描述

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

示例 2

  • 输入:head = [1], n = 1
  • 输出:[]

示例 3

  • 输入:head = [1,2], n = 1
  • 输出:[1]

提示

  • 链表中结点的数目为 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz

2. 方法一:计算链表长度

逻辑流程:

  • 输入是一个链表
1 -> 2 -> 3 -> 4 -> None
  • 创建一个虚拟头结点 dummy,它的 next 指向链表的实际头结点 head。
    这一步是为了处理边缘情况,比如当要删除的是头节点时,可以避免额外的条件判断。
dummy -> 1 -> 2 -> 3 -> 4 -> None

其中 dummy 是一个虚拟头结点,它的 next 指向实际的头结点 1。

  • 调用辅助函数 getLength 来计算整个链表的长度。
  • 初始化一个指针 cur,指向 dummy。
    这个指针将用来遍历链表,直到找到待删除节点的前一个节点。
    如果执行了 ListNode cur = dummy;,那么 cur 也指向 dummy 所指向的那个节点。
    此时,cur 和 dummy 的关系如下:
dummy (cur) -> 1 -> 2 -> 3 -> 4 -> None
  • 使用一个循环,使 cur 向后移动 length - n + 1 次,这样 cur 就会停在待删除节点的前一个位置。
    如果执行 cur = cur.next;,cur 将移动到下一个节点 1:
dummy     (cur)↓1 -> 2 -> 3 -> 4 -> None
  • 更新 cur.next 为 cur.next.next,跳过当前的下一个节点(即待删除节点)。
    如果执行 cur.next = cur.next.next;,这将跳过节点 2,并让 1 直接指向 3:
dummy     (cur)↓1  ->  3 -> 4 -> None|  /   |2  \   |\  |\ |4
  • 最后,返回 dummy.next 作为新的头节点,这是因为如果删除了原始的头节点,那么新的头节点就是 dummy.next。
    在这个过程中,dummy 的 next 指针也被更新了,因为 cur 和 dummy 指向同一个节点。所以,dummy 的 next 也从 1 变成了 3。

代码

class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode dummy = new ListNode(0, head);int length = getLength(head);ListNode cur = dummy;for (int i = 1; i < length - n + 1; ++i) {cur = cur.next;}cur.next = cur.next.next;ListNode ans = dummy.next;return ans;}public int getLength(ListNode head) {int length = 0;while (head != null) {++length;head = head.next;}return length;}
}

复杂度分析

  • 时间复杂度:O(L),其中 L 是链表的长度。

  • 空间复杂度:O(1)。

http://www.yidumall.com/news/80637.html

相关文章:

  • 怎么用别人网站做模板佛山关键词排名效果
  • 哪个网站做批发最便宜又好看seo系统培训哪家好
  • 免费网站登录口看完你会感谢我培训体系包括四大体系
  • 大学生创新创业平台百度seo排名优化价格
  • 注册什么公司给别人做网站今日发生的重大新闻
  • 十大web网站漏洞扫描工具搜索引擎seo关键词优化效果
  • 上海门户网站建设宁德市人社局
  • 成都旅游地图深圳网站优化平台
  • 免费做流程图的网站厦门人才网招聘最新信息
  • 苏州绿叶网站建设教程seo推广排名网站
  • 网站建设成本核算好的推广方式
  • 乡镇政府可以做网站认网站收录
  • 淘宝客网站模板谷粉搜索谷歌搜索
  • 女的和女的做那个视频网站短视频推广渠道
  • 做淘宝哪个女装批发网站比较好seo关键词有哪些类型
  • 网站开发工作难吗青岛seo网站管理
  • 我要制作网站市场营销的八个理论
  • 外贸关键词网站如何进行app推广
  • 中国工程建设监理协会网站旺道seo软件技术
  • 昆山教育云平台网站建设百度广告搜索推广
  • 微商网站怎么做有了域名怎么建网站
  • 中国能源建设集团有限公司是央企北京做seo的公司
  • 做网站从设计到上线流程百度app怎么找人工客服
  • 企业网站分析网络营销方案设计
  • 如何把代码放在网站首页教程博客营销
  • 网站图解图片是用什么软件做的代刷网站推广免费
  • 温州大型网站设计公司seo就业哪家好
  • 手机兼职赚钱平台文军seo
  • 做网站 怎么赚钱高端婚恋网站排名
  • 犀牛云做的网站怎么样种子搜索引擎