class Solution:
def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]:
pre_head = ListNode(val=0, next=head)
node_right = pre_head
node_left = pre_head
for i in range(n+1): # 快指针比慢指针快 n+1 步,方便删除
node_right = node_right.next
while node_right:
node_right = node_right.next
node_left = node_left.next
node_left.next = node_left.next.next
return pre_head.next
相关文章
- leetcode19. 删除链表的倒数第 N 个结点-代码
- 寻找链表中倒数第K个结点的位置
- remove Nth Node from linked list从链表中删除倒数第n个元素
- 时间复杂度分别为 O(n)和 O(1)的删除单链表结点的方法
- #yyds干货盘点# LeetCode面试题:删除链表的倒数第 N 个结点
- [LeetCode] 19. 删除链表的倒数第N个节点
- 跪求:一个线性表(a1,a2,...,an)(n>3)采用带头结点的单链表L存储,设计一个高效算法求中间位置的元素(即序号为【n/2】的元素)
- LeetCode--019--删除链表的倒数第N个节点(java)
- leetcode 删除链表的倒数第 N 个结点(19. )
- 代码的鲁棒性:链表中倒数第k个结点