首页 > 其他 > 详细

每日一题力扣19

时间:2021-03-14 13:57:24      阅读:24      评论:0      收藏:0      [点我收藏+]

 

 

 

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

进阶:你能尝试使用一趟扫描实现吗?

class Solution:
    def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:
        dummy = ListNode(0)
        dummy.next = head #创造一个新头节点

        #step1: 获取链表长度
        cur, length = head, 0 
        while cur:
            length += 1
            cur = cur.next 
        
        #step2: 找到倒数第N个节点的前面一个节点
        cur = dummy
        for _ in range(length - n):
            cur = cur.next
        
        #step3: 删除节点,并重新连接
        cur.next = cur.next.next
        return dummy.next 

 

每日一题力扣19

原文:https://www.cnblogs.com/liuxiangyan/p/14532140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!