Leetcode 19.删除链表的倒数第第N个结点
1.题目基本信息
题目:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
地址:https://leetcode.cn/problems/remove-nth-node-from-end-of-list/description/
2.解题方法
2.1.解题思路
使用快慢指针
2.2.解题步骤
第一步,初始化快指针为head,慢指针指向一个哑结点,哑结点指向head
第二步,让快指针先走k步
第三步,让快慢指针同步走,直到快指针为null,此时的慢指针刚好走到倒数第k个节点头结点位置,执行删除操作即可完成解题
3.解题代码
class Solution:
def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]:
dumbNode=ListNode(0,head)
dumbNode.next=head
slow,fast=dumbNode,head
for i in range(n):
fast=fast.next
while fast:
fast=fast.next
slow=slow.next
slow.next=slow.next.next
return dumbNode.next
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧