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
相关推荐
风栖柳白杨5 分钟前
【语音识别】Qwen3-ASR原理及部署
人工智能·python·语音识别·xcode·audiolm
数智工坊18 分钟前
【数据结构-栈】3.1栈的顺序存储-链式存储
java·开发语言·数据结构
OnYoung22 分钟前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
R-G-B26 分钟前
python 验证每次操作图片处理的顺序是否一致,按序号打上标签,图片重命名
开发语言·python·图片重命名·按序号打上标签·验证图片处理的顺序
DFT计算杂谈33 分钟前
VASP+Wannier90 计算位移电流和二次谐波SHG
java·服务器·前端·python·算法
北京高端信息科技34 分钟前
解决ClustalW中替换矩阵的文件格式
python·生物信息学
serve the people37 分钟前
python环境搭建 (九) 极简日志工具 loguru
linux·服务器·python
执着25938 分钟前
力扣102、二叉树的层序遍历
数据结构·算法·leetcode
元亓亓亓42 分钟前
考研408--数据结构--day5--栈与队列的应用
数据结构·考研··408·队列
小高Baby@1 小时前
Golang中面向对象的三大特性之多态的理解
数据结构·golang