首页 > 其他分享 >山凉田带你玩转OJ--返回链表倒数第K个结点

山凉田带你玩转OJ--返回链表倒数第K个结点

时间:2024-11-12 18:46:44浏览次数:3  
标签:返回 OJ -- fast 链表 NULL 节点 指针

在这里插入图片描述

题目解读

给定一个单链表和一个整数 k,要求返回链表的倒数第 k 个节点。

示例

输入:1 -> 2 -> 3 -> 4 -> 5k = 2

输出:4

解题思路

采用快慢指针法,具体步骤如下:

  1. 初始化指针

    • 快指针 fast 和慢指针 slow 都初始化为链表的头节点 head
  2. 快指针提前走 k

    • 让快指针 fast 先向前移动 k 步,这样快指针和慢指针之间就相差 k 个节点。
  3. 同时移动快慢指针

    • 当快指针 fast 不为 NULL 时,同时移动快指针和慢指针,直到快指针到达链表的末尾(即 fast == NULL)。
  4. 返回慢指针

    • 当快指针到达链表末尾时,慢指针正好位于倒数第 k 个节点的位置,返回慢指针。

代码实现

		if(head==NULL)
		{
			return NULL;
		}
        // 快指针提前走 k 步
        for (int i = 0; i < k; i++) {
            if (fast == NULL) {
                return NULL;  // 链表长度小于 k
            }
            fast = fast->next;
        }

        // 同时移动快慢指针
        while (fast != NULL) {
            fast = fast->next;
            slow = slow->next;
        }

        return slow;  // 返回慢指针指向的节点
    }

代码解释

  1. 空链表处理

    • 如果 headNULLk <= 0,直接返回 NULL,因为这样的输入是无效的。
  2. 初始化指针

    • 快指针 fast 和慢指针 slow 都初始化为 head
  3. 快指针提前走 k

    • 使用 for 循环让快指针 fast 先向前移动 k 步。
    • 如果在移动过程中 fast 变为 NULL,说明链表长度小于 k,返回 NULL
  4. 同时移动快慢指针

    • 使用 while 循环,当快指针 fast 不为 NULL 时,同时移动快指针和慢指针。
  5. 返回慢指针

    • 当快指针到达链表末尾时,慢指针正好位于倒数第 k 个节点的位置,返回慢指针。

总结

通过使用快慢指针法,我们可以高效地找到链表的倒数第 k 个节点。这种方法不仅简单易懂,而且时间复杂度为 O(n),空间复杂度为 O(1)。希望这篇博客对你有所帮助!如果有任何问题或需要进一步的解释,请随时提问。
在这里插入图片描述

标签:返回,OJ,--,fast,链表,NULL,节点,指针
From: https://blog.csdn.net/PSL060309/article/details/143411047

相关文章

  • 山田凉带你玩转OJ--判断链表是否有环并返回环的起始结点
    技术博客:判断链表是否有环并返回环的起始结点引言在链表操作中,判断链表是否存在环形结构是一个常见的问题。本文将详细介绍如何使用快慢指针法判断链表是否有环,并进一步找到环的起始结点。我们将分步骤讲解每一步的实现原理,并提供完整的代码实现。1.题目解读题目要求:......
  • 迅投QMT中实盘交易如何操作?
    炒股自动化:申请官方API接口,散户也可以python炒股自动化(0),申请券商API接口python炒股自动化(1),量化交易接口区别Python炒股自动化(2):获取股票实时数据和历史数据Python炒股自动化(3):分析取回的实时数据和历史数据Python炒股自动化(4):通过接口向交易所发送订单Python炒股自动化(5):......
  • WebSocket协议如何在实时行情接口中发挥作用?
    Python股票接口实现查询账户,提交订单,自动交易(1)Python股票程序交易接口查账,提交订单,自动交易(2)股票量化,Python炒股,CSDN交流社区>>>WebSocket协议的基础概念定义与特性WebSocket协议是一种网络通信协议。它的特性在于能在单个TCP连接上进行全双工通信。与传统的HTTP协......
  • Facebook定位不准原因及解决办法
    无论是FacebookDating(友缘)还是Marketplace,定位不准的问题都会对客户开发和运营产生很大的负面影响:无法发现或及时联系附近客户导致客户流失、定位目标市场出错、广告投放效果和产品信息展示情况不佳等。如果出现了类似的问题,可以参考以下可能的原因和解决方法!一、定位有误......
  • 利用阿燑目算法训练平台实现智能任务:从数据集到算法部署的完整流程
    引言在当今的数字化时代,算法训练已成为实现智能化任务的关键环节。通过专业的算法训练平台,如阿燑目算法训练平台,用户可以轻松完成从数据准备到算法部署的整个流程,实现各种智能应用。本文将基于阿燑目算法训练平台的使用手册,详细介绍如何利用算法训练平台完成智能任务。一、创......
  • 算法训练平台的内心独白
    我是阿燑目算法训练平台,大家都说我很神秘,今天就要好好和大家絮叨絮叨到底是怎么个事儿!在数字时代,算法训练平台成为了小微科技工作者在日常工作中不可或缺的一部分。我在这里分享我的一些服务和经验,希望能给你带来一些启发。网址:https://hub.atm008.com/首先,我提供图像集自......
  • 什么是 ISP:了解互联网服务提供商的作用
    一、ISP基础知识从本质上讲,ISP提供两项主要服务:互联网接入和互联网传输。互联网接入是指使用户能够连接到互联网的物理和逻辑连接,通常通过调制解调器、路由器或其他网络设备。此连接可以是有线的(例如通过DSL、光纤或电缆)或无线的(例如蜂窝数据或卫星)。另一方面,互联网传输涉......
  • 我是阿燑目,算法训练得看我
    在人工智能的浪潮中,计算机视觉领域正经历着前所未有的变革。作为这场变革的先锋,我——阿燑目算法训练平台,应运而生,专为深度学习打造,致力于简化图像识别模型的整个生命周期,从训练到部署,我无所不包。记住我们的网址:https://hub.atm008.com/一站式解决方案,让复杂变简单企业......
  • WhatsApp营销:5个技巧轻松强化客户关系
    WhatsApp作为在全球拥有超过20亿用户的社交通讯平台,已经成为大量品牌和卖家与客户沟通和交互的重要渠道。对于以一些WhatsApp使用率高的热门地域为主要目标市场的品牌和卖家来说,WhatsApp是营销必备工具,进一步提高WhatsApp营销效率和效果也成为重要课题。一、WhatsApp营销的优......
  • LiTS 数据集预处理(二) 肝脏肿瘤图像分割
    继续上次要完成的目标:肝脏肿瘤分离在上次的工作LiTS数据集预处理(一)肝脏肿瘤图像分割,我们对CT图像进行了切片处理,并生成了相应的标签(Label)。需要注意的是,CT图像和标签之间是一一对应的,数量自然也是相同的。掩膜处理在原本的代码中,有两行用于处理掩膜的代码被注释掉了:#......