LeetCode 19. 删除链表的倒数第N个节点(双指针)

mac2024-05-19  36

Description

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

示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。

Solution

链表问题一定要增加头节点。

# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode: dummy = ListNode(-1)# 链表问题都增加头节点 dummy.next = head l = r = dummy for _ in range(n): r = r.next while r.next: l = l.next r = r.next l.next = l.next.next return dummy.next
最新回复(0)