leetcode 链表的中间结点
876. 链表的中间结点
给定一个头结点为 head 的非空单链表,返回链表的中间结点。
如果有两个中间结点,则返回第二个中间结点。
示例 1:
输入:[1,2,3,4,5]
输出:此列表中的结点 3 (序列化形式:[3,4,5])
返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。
注意,我们返回了一个 ListNode 类型的对象 ans,这样:
ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next = NULL.
示例 2:
输入:[1,2,3,4,5,6]
输出:此列表中的结点 4 (序列化形式:[4,5,6])
由于该列表有两个中间结点,值分别为 3 和 4,我们返回第二个结点。
提示:
- 给定链表的结点数介于 1 和 100 之间。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/middle-of-the-linked-list。
- 此题是链表查询中比较简单的题,解题的方式也比较多,例如用数组把链表的所有节点存起来,快慢指针等。
- 我们可以先遍历一遍链表,记录下链表的大小,然后从头再遍历链表返回链表中间节点。
class Solution {
public:ListNode* middleNode(ListNode* head) {ListNode* tail = head;int left = 0;int right = 0;while (tail && tail->next) {tail = tail->next;right++;}while (left < right) {head = head->next;left++;right--;}return head;}
};
- 快慢指针
class Solution {
public:ListNode* middleNode(ListNode* head) {ListNode* fast = head;ListNode* slow = head;while (fast && fast->next) {slow = slow->next;fast = fast->next->next;}return slow;}
};
leetcode 链表的中间结点相关推荐
- 每日一道leetcode(python)876. 链表的中间结点
每日一道leetcode(python)876. 链表的中间结点 2021-08-19 给定一个头结点为 head 的非空单链表,返回链表的中间结点.如果有两个中间结点,则返回第二个中间结点.示例 1 ...
- JavaScript——leetcode算法入门876. 链表的中间结点【双指针专题】
题目描述 给定一个头结点为 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式: ...
- 【LeetCode题目详解】(二)206.反转链表、876.链表的中间结点
目录 一.力扣第206题:反转链表 1.思路一 2.思路二 二.力扣第876题:链表的中间结点 1.思路一 2.思路二 总结 一.力扣第206题:反转链表 题目链接:206. 反转链表 - 力扣(Le ...
- LeetCode 876——链表的中间结点
1. 题目 给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形 ...
- Leetcode 876. 链表的中间结点 (每日一题 20210918)
给定一个头结点为 head 的非空单链表,返回链表的中间结点.如果有两个中间结点,则返回第二个中间结点.示例 1:输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) ...
- LeetCode Algorithm 876. 链表的中间结点
876. 链表的中间结点 Ideas 这题直接秒杀吧,快慢指针,快指针一次走两步,慢指针一次走一步,快指针到头之后慢指针正好到链表中间. Code C++ class Solution {public ...
- LeetCode 876. 链表的中间结点(快慢指针)
1. 题目 给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 2. 解题 快慢指针法 class Solution {public:List ...
- LeetCode(876)——链表的中间结点(JavaScript)
给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4, ...
- 【LeetCode 876】链表的中间结点
题目描述: 给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形 ...
- LeetCode 876、链表的中间结点
876.链表的中间结点 1)题目描述 给定一个头结点为 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3,4,5] 输出:此列表 ...
最新文章
- FFmpeg集成到GPU
- 蓝桥杯java第六届决赛第三题--显示二叉树
- JavaFX滚动事件
- Dev C++安装第三方库boost
- 1.5 为什么正则化可以减少过拟合?
- multsim仿真1:利用multisim化简逻辑函数
- Origami 用于Quartz 的免费的交互设计框架
- ubuntu18 安装 mysql5.7
- python公众号文章爬虫_微信公众号文章爬虫
- Echarts使用教程
- 2021年上半年软件设计师上午真题及答案解析
- 一对一关系,一对多关系,多对多关系的简单理解
- Flutter 接入iOS苹果内购支付踩坑过程
- clustream java_数据流聚类算法
- 封装python函数判断成绩等级_封的解释|封的意思|汉典“封”字的基本解释
- Qt自定义控件的实践——电池电量控件
- mac安装python虚拟环境_mac 下 python 虚拟环境的安装和配置
- android studio中的模拟器,使用Android Studio创建Andorid模拟器
- 中国首款前装L3自动驾驶卡车发布:一汽解放制造,京东车队运营
- 怎么压缩图片大小?建议收藏这些方法
热门文章
- iphone13到底香不香,真的这么难抢?
- mysql rds 是什么_mysql.rds.aliyuncs.com
- Angular4_安全导航操作符 ( ?. ) 和空属性路径
- JavaScript如何运行
- mcinabox运行库下载安装_mcinabox运行库下载
- 文件共享服务器热备,两台云服务器如何实现双机热备
- Matlab坐标轴标签中文设置宋体,英文设置新罗马字体(Times New Roman)
- 「AutoML」AutoML专栏上线,跟Google一起见证调参党的末日?
- 手机APP UserAgent查询
- Struts2检测工具