c2c网站建设自己如何制作一个网页
文章目录
- 1、题目描述
- 2、思路
1、题目描述
删除链表的倒数第n个节点。
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
2、思路
参考官方题解,基本思路是:首先获取链表总长度,然后遍历到待删除节点的前一个位置,然后调整节点指向即可。
# 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: Optional[ListNode], n: int) -> Optional[ListNode]:# 获取链表长度pre = head length = 0while pre:pre = pre.next length += 1 # 哨兵节点:否则当链表长度为1时,不通过;dummy_node = ListNode()dummy_node.next = head # 遍历到 length - n 个的前一个pre = dummy_node for i in range(0, length - n):pre = pre.next # 更改指针pre.next = pre.next.next return dummy_node.next