LeetCode.19.删除链表的倒数第n个节点

题目描述:

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

输入输出实例:

思路:这道题目我们可以用双指针来做,让first和second指针之间的距离为n+1,然后我们first和second指针都往后移动,这样当first所指的为最后一个节点的后一个(即空节点)的时候,我们的second刚好在倒数第n个节点的前一个节点,然后我们second.next = second.next.next,这样达到去除第n个节点的目的。根据上述思路我们有以下代码:

python 复制代码
# 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]:
        #创建一个虚拟节点方便处理边界
        dummy = ListNode()
        dummy.next = head
        first = dummy
        second = dummy

        for _ in range(n+1):
            first = first.next
        
        while first:
            first = first.next
            second = second.next

        second.next = second.next.next

        return dummy.next
相关推荐
axinawang2 分钟前
Tesseract入门--把图片里印刷文字提取成文本
python
青 春 记 忆14 分钟前
LeetCode 283. 移动零|Python 解法详解
python·算法·leetcode
人工干智能22 分钟前
科普:Python中的生成器——带`yield`的函数
开发语言·python
whcyhhh24 分钟前
头歌实践教学平台:数据科学与大数据技术导论(十四)
大数据·开发语言·python
清水白石00824 分钟前
Python dataclass 高级避坑指南:从 default_factory、frozen、slots 到哈希灾难
windows·python·哈希算法
在学了加油28 分钟前
阿尔茨海默病诊断(优化特征选择版)
人工智能·python·dnn
淼澄研学37 分钟前
GPT-4o及mini模型参数解析与Python API调用实操
开发语言·python
kyrie_sakura1 小时前
python学习笔记 7--- 文件(IO)操作
笔记·python·学习
Patrick在香港1 小时前
Claude Agent 进阶编排:循环控制 + 写权限审批闸门 + 幂等重试
python·agent·claude·编排·anthropic api