码迷,mamicode.com
首页 > 其他好文 > 详细

#19. 删除链表的倒数第 N 个结点

时间:2021-05-24 17:18:01      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:经典的   rem   linked   ext   题目   lazy   inf   list   nod   

题目:技术图片

 

 

思路:一道经典的快慢指针问题,快指针先走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 个结点

标签:经典的   rem   linked   ext   题目   lazy   inf   list   nod   

原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/14791068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!