文章目录 题目描述 示例 1: 示例 2: 示例 3: 提示: 参考代码 题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head = [ 1 , 2 , 3 , 4 , 5
文章目录
- 题目描述
- 示例 1:
- 示例 2:
- 示例 3:
- 提示:
- 参考代码
题目描述
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
示例 1:第一次遍历获取链表的长度,第二次遍历到达要截取的位数移除节点。
# 24 ms 15 MB # 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: lens = 1 temp = head while temp.next: temp = temp.next lens += 1 if lens < n: return None elif lens == n: return head.next else: temp = head for i in range(lens - n - 1): temp = temp.next if n == 1: temp.next = None else: temp.next = temp.next.next return head