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
相关推荐
赵谨言12 分钟前
基于python二手车价值评估系统的设计与实现
大数据·开发语言·经验分享·python
朝朝辞暮i13 分钟前
从0开始学python(day1)
python
love530love30 分钟前
【笔记】Podman Desktop 部署 开源数字人 HeyGem.ai
人工智能·windows·笔记·python·容器·开源·podman
DARLING Zero two♡1 小时前
【优选算法】D&C-Mergesort-Harmonies:分治-归并的算法之谐
java·数据结构·c++·算法·leetcode
gfdgd xi1 小时前
deepin 终端,但是版本是 deepin 15 的
linux·python·架构·ssh·bash·shell·deepin
王六岁1 小时前
🐍 前端开发 0 基础学 Python 入门指南:条件语句篇
前端·python
java1234_小锋1 小时前
PyTorch2 Python深度学习 - 初识PyTorch2,实现一个简单的线性神经网络
开发语言·python·深度学习·pytorch2
高洁011 小时前
大模型-模型压缩:量化、剪枝、蒸馏、二值化 (4)
人工智能·python·深度学习·aigc·transformer
王六岁1 小时前
# 🐍 前端开发 0 基础学Python小结 Python数据类型使用场景与用途指南
前端·python
luoganttcc1 小时前
用Python的trimesh库计算3DTiles体积的具体代码示例
开发语言·python·3d