OJ:链表的中间结点

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

思路 

思路:首先最容易想到的思路是什么呢,就是先遍历一遍链表,用一个值count来记录链表的长度,然后我们运用除法,/2,结果是几,就是第几个是中间节点,但是这种方法其实是需要两个for循环的。还有一个思路,就是我们的快慢指针方法,这里我们用快慢指针的方法。

 

易错点 

 这里我觉得在声明fast和slow时,容易出错,还有fast&&fast->next时容易出错,首先第一个出错点我觉得在写那个slow时可能会忘记加*,对于while循环判断fast&&fast->next这里呢,这里可能会分不清用与还是或,这里我们想只要有一个条件不满足就直接跳出循环,所以只要有一个为假就跳出循环,所以用与就是&&,如果用或(||)的话,就是得满足两个条件才能跳出循环,还有就是fast和fast->next不能互换位置,否则假如fast为NULL,那么怎么能取到fast->NULL呢。

代码 


/*** Definition for singly-linked list.* 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.hqwc.cn/news/506415.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C/C++工程师面试题(数据库篇)

索引的优缺点 索引是一种支持快速查找特定行的数据结构,如果没有索引,就需要遍历整个表进行查找。用于提高数据检索的速度和效率。 好处: 提高检索速度: 索引可以加快数据的检索速度,因为它们允许数据库系统直接定位到…

一个网站是怎么开发出来并上线让你可以访问到全流程介绍

一个网站是怎么开发出来并上线让你可以访问到全流程介绍 之前和公司一些前端开发的朋友聊天,问他们:你们平时是怎么发布包的,答曰:不知道! 我很震惊,又问了身边一些做开发的同事朋友,居然很多人…

USLE模型-C因子的计算

首先得到FVC,并用掩膜提取研究区 在栅格计算器中,按下面公式计算C: Con(“qy”0,1,Con(“qy”>0.783,1,0.6509-0.3436 * Log10(100 * “qy”))) 最后导出为TIFF保存

maven 包管理平台-05-multi module 多模块

拓展阅读 maven 包管理平台-01-maven 入门介绍 Maven、Gradle、Ant、Ivy、Bazel 和 SBT 的详细对比表格 maven 包管理平台-02-windows 安装配置 mac 安装配置 maven 包管理平台-03-maven project maven 项目的创建入门 maven 包管理平台-04-maven archetype 项目原型 ma…

云服务器搭建Tianji启用网站分析

前言 Tianji 是一款 All-in-One Insight Hub,它集成了 网站分析(Umami) 在线时间监测(Kuma) 服务器监控 三大功能 (还有的在开发) 项目 GitHub:https://github.com/msgbyte/tianji 项目官网:https://tianji.msgbyte.com/ 为啥叫 Tianji&…

Redis学习------实战篇----2024/02/29----缓存穿透,雪崩,击穿

1.缓存穿透 Overridepublic Result queryById(Long id) {//1.从redis中查询缓存String key CACHE_SHOP_KEY id;String shopJson stringRedisTemplate.opsForValue().get(key);//2.判断是否存在//3.存在则直接返回if (StrUtil.isNotBlank(shopJson)){Shop shop JSONUtil.toB…

面试准备:排序算法大汇总 C++

排序算法总结 直接插入排序 取出未排序部分的第一个元素&#xff0c;与已排序的部分从后往前比较&#xff0c;找到合适的位置。将大于它的已排序的元素向后移动&#xff0c;将该元素插入到合适的位置。 //1. 直接插入排序 void InsertionSort(vector<int>& nums){f…

加密与安全_深入了解哈希算法

文章目录 Pre概述哈希碰撞常用的哈希算法Codejava.security.MessageDigestMD5SHA-1SHA-256MessageDigest支持算法 哈希算法的用途彩虹表攻击基本原理攻击过程 防御彩虹表攻击基本原理用途 小结 Pre PKI - 01 散列(Hash)函数 概述 哈希算法&#xff08;Hash&#xff09;又称摘…

9.8分割等和子集(LC416-M)

算法&#xff1a; 可以转换为背包问题&#xff1a; 一个商品如果可以重复多次放入是完全背包&#xff0c;而只能放入一次是01背包&#xff0c;写法还是不一样的。 要明确本题中我们要使用的是01背包&#xff0c;因为元素我们只能用一次。 只有确定了如下四点&#xff0c;才能…

数字化导师坚鹏:证券公司数字化运营三步曲之认知、行动、结果

证券公司数字化运营三步曲之认知、行动、结果 课程背景&#xff1a; 很多证券公司都在开展数字化运营工作&#xff0c;目前存在以下问题急需解决&#xff1a; 不清楚证券公司数字化运营包括哪些关键工作&#xff1f; 不清楚证券公司数字化运营工作的核心方法论&#xff1f…

2024年盘点Mac上的那些强大好用的系统清理软件

现如今MacOS上的系统维护清理软件层出不穷&#xff0c;选择一款合适的系统工具是我们的当务之急&#xff0c;下边就带你盘点一下Mac上的那些优秀好用的系统清理软件&#xff0c;看看哪款你最喜欢吧&#xff01; ​ 1、App Cleaner & Uninstaller Pro App Cleaner mac版是…

Docker知识点总结

二、Docker基本命令&#xff1a; Docker支持CentOs 6 及以后的版本; CentOs7系统可以直接通过yum进行安装&#xff0c;安装前可以 1、查看一下系统是否已经安装了Docker: yum list installed | grep docker 2、安装docker&#xff1a; yum install docker -y -y 表示自动确认…