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

LeetCode:19.删除链表倒数第N个节点

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的!
代码随想录

LeetCode:19.删除链表倒数第N个节点
给你一个链表,删除链表的倒数第 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]

快慢指针,注意下循环的终止条件

	public ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode dummyHead = new ListNode();
        dummyHead.next = head;
        ListNode cur = dummyHead;
        ListNode slow = dummyHead;
        ListNode fast = dummyHead;
        while(n-- > 0){
            fast = fast.next;
        }
        while(fast.next != null){
            fast = fast.next;
            slow = slow.next;
        }
        slow.next = slow.next.next;
        return dummyHead.next;   
    }

http://www.kler.cn/a/419206.html

相关文章:

  • 龙蜥 Linux 安装 JDK
  • 【青牛科技】2K02 电动工具专用调速电路芯片描述
  • 二分搜索(三)x的平方根
  • registry 删除私有仓库镜像
  • Web 端网站后台裁剪功能:提升图像管理效率的利器
  • 基于Java Springboot蛋糕订购小程序
  • 解决jupyter notebook 新建或打开.ipynb 报500 : Internal Server Error(涉及jinja2兼容性问题)
  • 蓝桥-希尔排序模板题
  • 【Java基础面试题004】封装、继承、重载、多态、接口和抽象类是什么?
  • 《JavaEat:探索 Java 在美食世界的奇妙之旅》
  • 无星的微前端之旅(四)——qiankun线上服务代理到本地
  • 后端-一对一的数据封装的两种写法对比
  • Android 图形系统之六:BufferQueue
  • 信息网络安全考试gjdw
  • 网络安全运维——高级 题库一 50题
  • vue3 + vite + antdv 项目中自定义图标
  • 华为OD机试真题---幼儿园篮球游戏
  • 【解决安全扫描漏洞】---- 检测到目标站点存在 JavaScript 框架库漏洞
  • 【Vue3】【Naive UI】<NDropdown>标签
  • 【机器学习】机器学习学习笔记 - 监督学习 - 多项式回归决策树回归 - 03
  • 【拥抱AI】如何查看Milvus的使用情况?
  • redis实战:集群的session问题
  • 数据结构之二叉树详解:从原理到实现
  • Ubuntu通过脚本启动多个可执行文件
  • 缓存之Redis介绍
  • 小程序-基于java+SpringBoot+Vue的校园二手交易小程序设计与实现