mq028.删除链表的倒数第N个节点 Leetcode linkedlist Dec 04, 2020 题目链接 啊感觉这个题做过的,然后自己写了一下,倒是过了示例,但是提交之后发现有特殊情况没有考虑,比如说在链表中只有一个元素的时候要删除倒数第一个节点,我的实现就会有问题,然后看了一下两年前提交的答案,发现使用的dummyt节点是在head之前的节点而非我这样将dummy设成head。另外,在这样设置dummy后,在提前走n步时我们要改成提前走n+1步。这个算法的时间复杂度是O(N),空间复杂度是O(1)。 # 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: dummy = ListNode(0, next=head) left, right = dummy, dummy for _ in range(n+1): right = right.next while right is not None: right = right.next left = left.next left.next = left.next.next return dummy.next PREVIOUSmq016.在排序数组中查找元素的第一个和最后一个位置NEXTmq035.两数之和