当前位置: 首页 > article >正文

力扣876. 链表的中间结点

文章目录

  • 一、快慢指针
  • 二、运行代码


  1. 链表的中间结点

一、快慢指针

我们学习快慢指针,是为了这种算法思想。

顾名思义,是一个慢指针,一步一步走。快指针随心所欲,可以一次走两步,也可以一次走三步四步等。

  • 如果一次走两步的话,当快指针走到链表尾部的时候,慢指针恰好可以走到链表中间。
    按照这种思路来看,快慢指针也是非常有用的。

二、运行代码

 struct ListNode {

     int val;
     struct ListNode *next;
  };

typedef struct ListNode ListNode;

struct ListNode* middleNode(struct ListNode* head) {

    ListNode* fast, * slow;

    fast = slow = head;

    while (fast && fast->next)

    {

        slow = slow->next;

        fast = fast->next->next;

    }

    return slow;
}



感谢大家能看到这里,多多支持!在这里插入图片描述


http://www.kler.cn/a/412621.html

相关文章:

  • 解决首次加载数据空指针异常
  • 【软件国产化】| Windows和Linux下文件名后缀是否区分大小写
  • 网站服务器该如何防御CC攻击?
  • 华三(HCL)和华为(eNSP)模拟器共存安装手册
  • Rust编程语言代码详细运行、编译方法
  • 利用Docker容器技术部署发布web应用程序
  • nginx和netcore加载常见的3D模型
  • Go 中的并发 Map:深入探索 sync.Map 及其他实现方法
  • Django中 model 一对一 一对多 多对多关系 关联
  • NR 5G SIB1读取失败应该怎么办?
  • Ubuntu系统通过命令行连接WiFi
  • 美创科技获选“金智奖”年度创新解决方案,为工业企业数据安全治理提供思路
  • 图书系统小案例
  • 欢迪迈手机商城:基于SpringBoot的用户体验提升
  • JavaWeb三层架构
  • Flutter 开发环境—Linux
  • RabblitMQ 消息队列组件与 libev事件驱动库
  • 【Petri网导论学习笔记】Petri网导论入门学习(十一) —— 3.3 变迁发生序列与Petri网语言
  • Leecode刷题C语言之交替组②
  • 鸿蒙面试 --- 性能优化(精简版)
  • K8s调度器扩展(scheduler)
  • 小程序-基于java+SpringBoot+Vue的微信小程序养老院系统设计与实现
  • C语言中使用动态内存
  • SpringBoot集成minio,并实现文件上传
  • Flutter:封装发送验证码组件,注册页使用获取验证码并传递控制器和验证码类型
  • java内存管理介绍