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
相关推荐
wuyk55529 分钟前
Python 零基础入门第九章:用户输入与 While 循环
开发语言·python
兮动人33 分钟前
Python变量与常量
开发语言·python·机器学习·python变量与常量
2601_9623008141 分钟前
机器学习的理想基石
人工智能·python·机器学习·编程语言·数据处理
Java后端的Ai之路1 小时前
21、Python - 命令模式
开发语言·人工智能·python·命令模式·外观模式
2601_962077981 小时前
机器学习及其Python实践
pytorch·python·机器学习·tensorflow·scikit-learn
小柯南敲键盘1 小时前
跨马翻译批量图片视频字幕翻译,跨境电商AI智能抠图一站式工具
人工智能·python·音视频·xcode
2601_962295581 小时前
Python中正则表达式的知识汇总分享
python·正则表达式·模块·语法·匹配
ellenwan20261 小时前
量化实现的难点,常在规则和流程
人工智能·python
2601_962298671 小时前
正则表达式引擎 哪些
java·python·perl·pcre·正则表达式引擎
gf13211112 小时前
【python_回复邮件】
android·java·python