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
相关推荐
ShineWinsu8 分钟前
对于C++中unordered_set的详细介绍
数据结构·c++·算法·面试·stl·哈希表·unordered_set
吃着火锅x唱着歌8 分钟前
LeetCode 456.132模式
数据结构·算法·leetcode
夫唯不争,故无尤也9 分钟前
Agent 开发者如何快速上手 SQL:从表设计到 Python 交互的一篇实战入门
python·sql·交互
二木九森11 分钟前
LeetCode-寻找环形链表的入口
算法·leetcode·链表
小张的博客之旅14 分钟前
2026第十届“楚慧杯”湖北省网络与数据安全实践能力竞赛 (全Writeup)
python·网络安全·openclaw
new code Boy15 分钟前
JavaScript转Python”的速查表
开发语言·javascript·python
菜菜小狗的学习笔记17 分钟前
数据结构(三)哈希表
数据结构·散列表
杰杰79824 分钟前
深入理解 Django REST Framework 的 Serializer(上)
后端·python·django
程序员敲代码吗26 分钟前
探索数字转换与计算机存储基础
前端·python
样例过了就是过了27 分钟前
LeetCode热题100 岛屿数量
数据结构·c++·算法·leetcode·dfs