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

删除链表的倒数第N个节点的方法

我们先来看要求和示例:

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

示例:

输入:1->2->3->4->5,n = 2

输出:1->2->3->5

解题思路:

双指针法,定义一个指针 fast 先向右移动 n 个节点,然后再定义一个指针 slow ,两个指针同时向右移动,直到 fast 指向链表的尾节点。此时 slow 指向的节点就是要删除的节点的前一个节点,将其指向下下个节点即可。

  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;}

好了,今天的文章分享就到这里了,希望对大家的学习有帮助哦! 

http://www.xdnf.cn/news/708517.html

相关文章:

  • JavaWeb
  • k8s中kubeSphere的安装使用+阿里云私有镜像仓库配置完整步骤
  • CI/CD 持续集成、持续交付、持续部署
  • [Dify] Chatflow 与 工作流的差异解析:多轮对话与流程编排的真正区别
  • TEASER-plusplu Windows Mingw编译
  • RestTemplate完全使用指南:从入门到实战
  • 从零实现基于BERT的中文文本情感分析的任务
  • Vue项目打包常见问题
  • 纯html,js创建一个类似excel的表格
  • netTAP 100:在机器人技术中将 POWERLINK 转换为 EtherNet/IP
  • ADB识别手机系统弹授权框包含某段文字-并自动点击确定按钮
  • Photoshop2025(PS2025)软件及安装教程
  • c#基础09(类与对象)
  • HTML实战项目:高考加油和中考加油
  • Git 教程 | 如何将指定文件夹回滚到上一次或某次提交状态(命令详解)
  • 免费开源批量图片格式转换工具
  • 再见Notepad++,你好Notepad--
  • ADB推送文件到指定路径解析
  • AI+微信小程序:智能客服、个性化推荐等场景的落地实践
  • 新版LangChain向量数据库VectorStore设计详解
  • 基于KG生成语料增强解决RAG问答幻觉问题的简单框架-WalkRetrieve
  • 【Redis】string 类型
  • 【Doris基础】Apache Doris vs 传统数据仓库:架构与性能的全面对比
  • 架构意识与性能智慧的双重修炼
  • 为 Ubuntu 安装的软件创建桌面图标
  • qt结构化绑定的重大缺陷:只能创建局部变量
  • Knife4j框架的使用
  • WPF的布局核心:网格布局(Grid)
  • 【海康USB相机被HALCON助手连接过后,MVS显示无法连接故障。】
  • forward(转发)和redirect(重定向)