# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:
head_dummy = ListNode()
head_dummy.next = head
slow, fast = head_dummy, head_dummy
while(n>=0): #fast先往前走n+1步
fast = fast.next
n -= 1
while(fast!=None):
slow = slow.next
fast = fast.next
#fast 走到结尾后,slow的下一个节点为倒数第N个节点
slow.next = slow.next.next #删除
return head_dummy.next
删除链表的倒数第N个节点代码详解
最新推荐文章于 2024-08-08 18:03:08 发布
该代码定义了一个单链表类和一个解决方案类,用于在单链表中移除距离尾部指定距离(n)的节点。它通过创建一个快慢指针,快指针先移动n+1步,然后两者同步移动,直到快指针到达链表末尾,此时慢指针指向的节点即为待删除节点的前一个节点,然后删除该节点。
摘要由CSDN通过智能技术生成