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

leetcode——链表的中间节点

876. 链表的中间结点 - 力扣(LeetCode)

链表的中间节点是一个简单的链表OJ。我们要返回中间节点有两种情况:节点数为奇数和节点数是偶数。如果是奇数则直接返回中间节点,如果是偶数则返回第二个中间节点。

这道题的解题思路是:快慢指针

我们定义两个指针fast和slow来遍历链表,fast一次走两步,slow一次走一步,当fast走到了NULL或者fast->next为NULL时,此时slow对应的节点就是中间节点。

 

借助图来清晰快慢指针的过程,我们接下来实现代码:

typedef struct ListNode ListNode;//对结构体重命名
struct ListNode* middleNode(struct ListNode* head) 
{ListNode* fast = head;ListNode* slow = head;while(fast && fast->next){fast = fast->next->next;slow = slow->next;}return slow;
}

http://www.lryc.cn/news/349291.html

相关文章:

  • 稳定网络的诀窍:静态住宅代理解决方案
  • VACode 创建Vue项目完整过程
  • 【C++】详解C++的模板
  • 1146 -Table ‘performance schema.session variables‘ doesn‘t exist的错误解决
  • 练习题(2024/5/13)
  • LeetCode—设计循环队列(两种方法)
  • python “名称空间和作用域” 以及 “模块的导入和使用”
  • Pycharm导入自定义模块报红
  • LLMs之KG-RAG:KG-RAG(基于知识图谱的RAG系统)的简介(可以解决多跳问题/同时支持结构化和非结构化数据查询)、经验技巧、案例应用之详细攻略
  • 综合模型及应用(图论学习总结部分内容)
  • 2025考研专业课、英语、数学、政治视频大全,整理全了!
  • 设计模式之策略模式(一)
  • 常见网络攻击及解决方案
  • 【挑战30天首通《谷粒商城》】-【第一天】【10 番外篇】 解决docker 仓库无法访问 + MobaXterm连接VirtualBox虚拟机
  • 【C++】每日一题 17 电话号码的字母组合
  • vue预览PDF文件的几种方法
  • 深度学习入门到放弃系列 - 阿里云人工智能平台PAI部署开源大模型chatglm3
  • GPT-4o,AI实时视频通话丝滑如人类,Plus功能免费可用
  • 【优选算法】——Leetcode——202—— 快乐数
  • 华大基因CEPO-尹烨说学习与生活
  • C#中json数据序列化和反序列化的最简单方法(C#对象和字符串的相互转换)
  • logback 日志脱敏
  • element-ui的表单中,输入框、级联选择器的长度设置
  • 深入了解 npm:Node.js 包管理工具详解
  • 记一次跨域问题
  • 第9章 负载均衡集群日常维护
  • 鸿蒙内核源码分析(消息封装篇) | 剖析LiteIpc(上)进程通讯内容
  • Charger之三动态电源路径管理(DPPM)
  • 大数据模型的选择与安装
  • React 之 lazy(延迟加载)(十七)