876、链表的中间结点

1)题目描述

给定一个头结点为 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,我们返回第二个结点。

提示:

  • 给定链表的结点数介于 1100 之间。

2)分析

快慢指针。快指针一次走两步,慢指针一次走一步,快指针走到尾部,慢指针则在中间。

3)C++代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {public:ListNode* middleNode(ListNode* head) {ListNode* p=head;ListNode* q=head;while(q!=NULL&&q->next!=NULL){p=p->next;q=q->next->next;}return p;}
};

LeetCode 876、链表的中间结点相关推荐

  1. LeetCode 876——链表的中间结点

    1. 题目 给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形 ...

  2. Leetcode 876. 链表的中间结点 (每日一题 20210918)

    给定一个头结点为 head 的非空单链表,返回链表的中间结点.如果有两个中间结点,则返回第二个中间结点.示例 1:输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) ...

  3. LeetCode 876. 链表的中间结点(快慢指针)

    1. 题目 给定一个带有头结点 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 2. 解题 快慢指针法 class Solution {public:List ...

  4. leetcode 876. 链表的中间结点 做题笔记

    题目: 给定一个头结点为 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[ ...

  5. LeetCode 876. 链表的中间结点

    原题链接 解题思路:快慢指针,快指针走两步,慢指针走一步.快指针到NULL慢指针自然到中间位置 /*** Definition for singly-linked list.* struct List ...

  6. leetcode 876.链表中间结点

    链表中间结点 leetcode题目链接:876. 链表的中间结点 一.朴素解法 最直观的思路,因为不知道这个链表的长度,就先通过一次循环统计链表的长度len 之后第二次遍历,直到找到中间结点,输出 / ...

  7. 每日一道leetcode(python)876. 链表的中间结点

    每日一道leetcode(python)876. 链表的中间结点 2021-08-19 给定一个头结点为 head 的非空单链表,返回链表的中间结点.如果有两个中间结点,则返回第二个中间结点.示例 1 ...

  8. JavaScript——leetcode算法入门876. 链表的中间结点【双指针专题】

    题目描述 给定一个头结点为 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式: ...

  9. 【LeetCode题目详解】(二)206.反转链表、876.链表的中间结点

    目录 一.力扣第206题:反转链表 1.思路一 2.思路二 二.力扣第876题:链表的中间结点 1.思路一 2.思路二 总结 一.力扣第206题:反转链表 题目链接:206. 反转链表 - 力扣(Le ...

  10. LeetCode Algorithm 876. 链表的中间结点

    876. 链表的中间结点 Ideas 这题直接秒杀吧,快慢指针,快指针一次走两步,慢指针一次走一步,快指针到头之后慢指针正好到链表中间. Code C++ class Solution {public ...

最新文章

  1. C#中判断空字符串的3种方法性能分析【月儿原创】
  2. UVa 941 Permutations
  3. TL-410小路由静态路由问题
  4. 怎么知道文本前后空格的字符格式_JDK 14的新特性:文本块Text Blocks
  5. C#操作Excel(读取)
  6. panda 函数笔记(merge\DataFrame用法\DataFrame.plot)
  7. php 其他盘文件格式,常见的硬盘有几种格式? 教你选择硬盘的技巧
  8. 【动态规划】区间dp:P1005矩阵取数
  9. python 黑客书籍 ——扫描+暴力破解
  10. bearer token_四,接口认证方式:Bearer Token
  11. 插个队 leetcode 142. 环形链表 II
  12. VS2015下安装Visual_Assist_x破解版
  13. Kali Linux 破解无线网密码
  14. 亚马逊大赛:AI与人聊天20分钟就能赢百万美元 | 揭秘
  15. union和union all哪个效率高
  16. 中国的程序员大部分都是diao丝,说白了就是农村进城打工的,有背景或有钱的基本都不会做程序员。
  17. 关于vcf文件的读取
  18. Java实现八皇后算法
  19. 全国计算机网络英语,2007年10月自考试题计算机网络管理全国试卷(国外英语资料).doc...
  20. [附源码]Node.js计算机毕业设计高校运动会管理系统 Express

热门文章

  1. 实施工程师面常见问题
  2. 考验直播平台搭建水平的十个性能指标
  3. nonce值是什么?(Number once)(Number used once)cnonce(client nonce)(一个只被使用一次的任意或非重复的随机数值)
  4. C# net6微服务架构之服务注册与发现工具Consul的下载与安装(for windows)
  5. 【信号与系统】—知识点:无失真传输系统、理想低通滤波器
  6. 学习笔记 - 如何增长
  7. Android -- 屏幕适配之dimens适配
  8. linux自动启动 oracle
  9. Python开发多媒体管理软件实现方法
  10. 字节数组byte[]转有符号short和无符号unsignedShort