LeetCode热题100-删除链表的倒数第 N 个结点
2026/5/12 16:47:29 网站建设 项目流程

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

示例 1:

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

核心技巧

  1. 虚拟头结点 dummy:规避删除头节点的边界问题
  2. 快慢指针:快指针先走n+1步,然后快慢同速往后走
  3. 快指针走到末尾时,慢指针刚好在倒数第 n 个节点的前驱
  4. 直接slow.next = slow.next.next跳过要删的节点
class Solution: def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]: dummy = ListNode(0, head) fast = slow = dummy for _ in range(n + 1): fast = fast.next while fast: fast = fast.next slow = slow.next slow.next = slow.next.next return dummy.next

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询