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

链表的中间节点

这题需要用到快慢指针的思想,快指针叫fast,慢指针是slow,快指针每次往后移两个节点,slow只移动一个节点,这样子fast的速度是slow的两遍,当fast遍历完链表,slow才遍历一半,正好就在中间。

代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode LSTNode;
struct ListNode* middleNode(struct ListNode* head) {LSTNode* slow,*fast;//定义两个指针fast=slow=head;//初始化指针while(fast&&fast->next)//fast走的快,它不能为空,并且它的next也不行{slow=slow->next;//slow每次往后移动一个节点fast=fast->next->next;//fast每次往后移动两个节点}return slow;//返回slow
}

http://www.xdnf.cn/news/2907.html

相关文章:

  • 机器视觉算法与应用:企业级开发全流程详解
  • Kotlin -> lateinit 和 lazy 详解
  • 嵌入式音视频实时通话EasyRTC打造设备安装与调试的高效远程解决方案
  • Nginx反向代理的负载均衡配置
  • Python入门:流程控制练习
  • 数据编辑器中变量的精妙计算与灵动转换​
  • 汽车启动原理是什么?
  • 水库现代化建设指南-水库运管矩阵管理系统建设方案
  • Linux环境变量的作用以及进程的虚拟地址原理
  • 【Tips】高效文献管理:Zotero 导入参考文献的多种方式详解
  • 【PyTorch动态计算图实战解析】从原理到高效开发
  • CSS in JS:机遇与挑战的思考
  • Java | 韩顺平 循序渐进学Java自用笔记---OOP高级
  • EPSG的作用
  • C++23中的std::forward_like:完美转发的增强
  • 第十六届蓝桥杯 2025 C/C++B组第一轮省赛 全部题解(未完结)
  • 探索目标检测:边界框与锚框的奥秘
  • leetcode 21. 合并两个有序链表(c++解法+相关知识点复习)
  • 目标检测和目标跟踪的区别与联系
  • 大前端开发——前端知识渐变分层讲解 利用金字塔原理简化前端知识体系
  • 长短期记忆网络(LSTM)
  • MySQL多表操作
  • Ansible 铸就 Linux 安全之盾(Ansible Builds Linux Security Shield)
  • 《软件测试52讲》学习笔记:如何设计一个“好的“测试用例?
  • 【学习资源】知识图谱与大语言模型融合
  • 在Mybatis中写sql的常量应用
  • 万物皆可执行:多功能机器人正在定义新生产力法则
  • Ceph IO读写流程详解(二)——RADOSGW请求处理
  • Lightroom 2025手机版:专业编辑,轻松上手
  • 基于 STM32 的智慧图书馆智能控制系统设计与实现