#19. 删除链表的倒数第 N 个结点
Posted 王爷爱吃秋刀鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#19. 删除链表的倒数第 N 个结点相关的知识,希望对你有一定的参考价值。
题目:
思路:一道经典的快慢指针问题,快指针先走n步,然后一起走,快指针走到最后一个节点,慢指针就到了要被删除的节点的前一个节点。
# 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: node = ListNode(0) node.next = head #定义头节点 fast = node slow = node for i in range(n): fast = fast.next #快节点先走n步 while(fast.next!=None):#直到快节点走到最后一个,慢节点直接指向她的后继节点的后继节点 fast = fast.next slow = slow.next slow.next = slow.next.next return node.next
以上是关于#19. 删除链表的倒数第 N 个结点的主要内容,如果未能解决你的问题,请参考以下文章
算法leetcode|19. 删除链表的倒数第 N 个结点(rust重拳出击)