LeetCode19 删除链表的倒数第 N 个结点
1.相交链表2.LeetCode206 反转链表
3.LeetCode19 删除链表的倒数第 N 个结点
4.LeetCode24 两两交换链表中的节点5.LeetCode234 回文链表6.LeetCode21 合并两个有序链表7.LeetCode2 两数相加LeetCode19 删除链表的倒数第 N 个结点
题目链接:LeetCode19
描述
给你一个链表,删除链表的倒数第 n
个结点,并且返回链表的头结点。

示例
输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]
思路
定义fast指针和slow指针,初始值为虚拟头结点
fast首先走n + 1步
fast和slow同时移动,直到fast指向末尾
删除slow指向的下一个节点
代码
class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { ListNode dummy = new ListNode(); dummy.next = head; ListNode fast = dummy; ListNode slow = dummy; while(n-- >= 0){ fast = fast.next; } while(fast != null){ slow = slow.next; fast = fast.next; } slow.next = slow.next.next; return dummy.next; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)