
leetcode——链表的中间节点
如图所示两个指针按照要求一次向后访问链表,当fast指向最后一个结点的时候停止,此时slow指向的是中间节点,因此我们的判断条件是当fast->next=NULL时停止运行 但是这是节点个数为奇数时的情况,当节点个数是偶数时应该怎么办呢
最后的情况是fast指向的是NULL时停止,因此此时的判断条件是fast=NULL时停止运行程序
发布日期:2021-05-10 03:40:05
浏览次数:19
分类:精选文章
本文共 799 字,大约阅读时间需要 2 分钟。


struct ListNode* middleNode(struct ListNode* head){ struct ListNode* fast=head;struct ListNode* slow=head;while(fast!=NULL&&fast->next!=NULL){ slow=slow->next;//slow向后移动一位 fast=fast->next->next;//fast向后移动两位}return slow;}
千万要注意的一点:
在写while语句的判断条件时,一定要写成while(fast!=NULL&&fast->next!=NULL) 而不能将两个条件反过来,因为在判断条件的时候是从左向右判断的,如果fast=NULL,正常情况下判断完第一个条件就应该跳出循环,但是如果写反的话,第一步就是判断fast->next是否为NULL,但是fast本身就是NULL了,再进行fast->next操作系统会崩溃的喔!发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月21日 10时55分55秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
HRBUST—1891 A + B Problem VII
2021-05-10
装饰模式
2021-05-10
框架综合实践(3)-业务逻辑businessView的封装
2021-05-10
Robot Framework 新建资源文件-用户关键字
2021-05-10
HDU - 4289 Control 拆点最大流,领悟拆点的真谛吧!
2021-05-10
HDU - 2732 Leapin‘ Lizards 拆点最大流+BFS 学好英语QAQ
2021-05-10
导弹拦截 NOIP1999 dilworth定理裸题
2021-05-10
应对unordered_map被卡的方法
2021-05-10
Android架构——旧版 HAL
2021-05-10
Android 音频开发——AudioTrack播放
2021-05-10
java数组初始化及内存分析
2021-05-10
1 java程序设计概述
2021-05-10
Ubuntu操作系统鼠标闪烁
2021-05-10
Objective-C 5 NSString常用方法
2021-05-10
Effective OC 笔记 2类的头文件中尽量少引入其他头文件
2021-05-10
Unable to execute dex: Multiple dex files
2021-05-10
3分钟搞懂js的冒泡和捕获?
2021-05-10
Mac电脑调用自带的命令行窗口
2021-05-10
终端查看本机ip地址
2021-05-10