leetcode:876. 链表的中间结点

news2024/9/23 19:23:11

一、题目

 

函数原型:

struct ListNode* middleNode(struct ListNode* head)

二、思路

要找到链表的中间结点,有两种思路:

暴力解法:先遍历一遍链表,计算出链表的长度,再次遍历链表,找到中间结点。

快慢指针:分别设置一个快指针和一个慢指针,慢指针一次走一步,快指针一次走两步,那么快指针遍历的结点数始终时慢指针的两倍,所以当快指针走到空时,慢指针就走到了中间结点。

三、代码

本文只提供快慢指针的代码

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* middleNode(struct ListNode* head){
    struct ListNode *fast=head;//快指针
    struct ListNode*slow=head;//慢指针
    //while(fast->next&&fast)
    while(fast&&fast->next)
    {
        slow=slow->next;
        fast=fast->next->next;
    }
    return slow;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1201892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

马达加斯加市场开发攻略,收藏一篇就够了

马达加斯加是位于非洲南部一个国家,虽然经济是比较落后的一个国家,但是一直以来跟中国的关系都还不错,生产生活资料也是比较依赖进口的,市场潜力还是不错的。今天就来给大家分享一下马达加斯加的相关攻略。大家点赞收藏关注慢慢看…

北大联合智源提出训练框架LLaMA-Rider

大语言模型因其强大而通用的语言生成、理解能力,展现出了成为通用智能体的潜力。与此同时,在开放式的环境中探索、学习则是通用智能体的重要能力之一。因此,大语言模型如何适配开放世界是一个重要的研究问题。 北京大学和北京智源人工智能研究…

Django中Cookie和Session的使用

目录 一、Cookie的使用 1、什么是Cookie? 2、Cookie的优点 3、Cookie的缺点 4、Django中Cookie的使用 二、Session的使用 1、什么是Session? 2、Session的优点 3、Session的缺点 4、Django中Session的使用 三、Cookie和Session的对比 总结 D…

低功耗蓝牙技术 > GAP和GATT介绍

GAP(Generic Access Profile)和GATT(Generic Attribute Profile)简介 在蓝牙技术的发展中,GAP和GATT两个协议扮演着关键的角色,为BLE(低功耗蓝牙)设备之间的通信提供了规范和框架。…

拼多多API接口,打造智能化电商平台

近年来,电商行业的崛起给人们的购物带来了极大的方便。随着电商行业的发展,拼多多作为新兴电商平台已经成为市场焦点。 同时,随着技术的发展,API(Application Programming Interface,应用程序编程接口&…

振动异响振动案例 | 本田思域怠速时发动机异响

虽然未来可能是“电动”的,但内燃机(ICE)在永远消失之前还有很多年。但是,我确信它永远不会。从目前的立法来看,到2030年,传统的汽油和柴油汽车/货车将被禁止销售,插电式混合动力车将延长到2035…

java--String使用时的注意事项

1.String使用时的注意事项 第一点: ①String对象的内容不可改变,被称为不可变字符串对象。(因为字符串是引用类型,每次都是引用一个地址,就相当于你有车,但是你不可能天天把车踹兜里,只能把钥匙踹兜里&am…

「得力集团」启动采购供应链协同项目,携手企企通打造文创科技产业行业标杆

近期,国内最大的办公与学习用品产业集团、多工作场景整体解决方案的领导者「得力集团有限公司」与企企通成功签约,并顺利召开采购供应链协同项目启动会。 本次会议中,双方高层领导与项目团队成员就项目的功能需求、实施方案、资源支持等问题进…

Direct3D拾取

假设在屏幕上单击,击中的位置为点s(x,y)。由图可以看出,用户选中了茶壶。但是仅给出点s,应用程序还无法立即判断出茶壶是否被选中。所以针对这类问题,我们需要采用一项称为“拾 取(Picking)”的技术。 茶壶和屏幕点s之间的一种联…

谷歌竞价排名10个引爆利器揭秘分享-华媒舍

谷歌是目前世界上最受欢迎的搜索引擎之一,而竞价排名则是企业在谷歌平台上提升在线曝光度的重要手段。本文将介绍10个能够帮助企业轻松提高谷歌竞价排名的利器,让您的产品或服务脱颖而出。 第一利器:关键词优化 关键词优化是提升竞价排名的基…

Accelerate 0.24.0文档 一:两万字极速入门

文章目录 一、概述1.1 PyTorch DDP1.2 Accelerate 分布式训练简介1.2.1 实例化Accelerator类1.2.2 将所有训练相关 PyTorch 对象传递给 prepare()方法1.2.3 启用 accelerator.backward(loss) 1.3 Accelerate 分布式评估1.4 accelerate launch1.4.1 使用accelerate launch启动训…

垃圾/垃圾桶识别相关开源数据集汇总

垃圾箱图片数据集 数据集下载链接:http://suo.nz/3cvbiC 垃圾箱多类检测数据集 数据集下载链接:http://suo.nz/2eluH3 蒙得维亚的垃圾箱图片 数据集下载链接:http://suo.nz/2lRHLK 垃圾桶满溢检测数据集 数据集下载链接:http:…

PostgreSQL 入门教程

PostgreSQL 入门教程 1. 历史背景2. 概念3. 特点4. 用法4.1 数据库连接4.2 数据库创建4.3 表创建4.4 数据插入4.5 数据查询4.6 数据更新4.7 数据删除 5. 安装步骤6. 简单示例7. 扩展7.1 数据类型7.2 查询优化7.3 并发控制7.4 数据备份和恢复7.5 扩展性和高可用性7.6 安全性加固…

MATLAB中ginput函数用法

目录 语法 说明 示例 标识点和绘制坐标 返回用于选择坐标的按键 标识地理坐标区上的点 ginput函数的功能是标识坐标区坐标。 语法 [x,y] ginput(n) [x,y] ginput [x,y,button] ginput(___) 说明 [x,y] ginput(n) 可用于标识笛卡尔坐标区、极坐标区或地理坐标区内…

如何成功创建百度百科词条?教你从零开始创建自己的百度百科【建议收藏】

百度百科是一个开放的网络百科全书,用户可以自由编辑和贡献内容。如果你想创建一个百度百科页面,需要做好以下准备: 1.确定主题:选择一个你熟悉或者感兴趣的主题,确保该主题在百度百科上还没有相关的页面。 2.收集资…

数据结构 | 队列的实现

数据结构 | 队列的实现 文章目录 数据结构 | 队列的实现队列的概念及结构队列的实现队列的实现头文件,需要实现的接口 Queue.h初始化队列队尾入队列【重点】队头出队列【重点】获取队列头部元素获取队列队尾元素获取队列中有效元素个数检测队列是否为空销毁队列 Que…

通讯协议学习之路(实践部分):UART开发实践

通讯协议之路主要分为两部分,第一部分从理论上面讲解各类协议的通讯原理以及通讯格式,第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN;视频会发布在bilibili(UID:399951374) 本文…

破解制造业痛点,数据化方案助力高效生产!

随着科技的飞速发展,我们已进入数据化时代。在这个时代,制造业面临着前所未有的挑战。本文将探讨制造业在当今数据化时代遇到的问题以及相应的解决方案。 一、背景 制造业作为全球经济发展的重要支柱,正面临着数据化带来的巨大变革。在这个以…

DP4301-M无线模块一款SUB-1G无线收发模块

DP4301-M无线模块是一款低成本高效率工作于1GHz以内的收发模块,支持中国智能电无线 集抄标准470MHz~ 510MHz,兼容433MHz ISM/SRD频段均可使用。 此模块且前已经超大量应用于国标智能无线抄表及物联网自组网等双向数据传输系统方案,模 块具备的…