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

2021-08-19

给定一个头结点为 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

把链表先遍历一遍,求长度,在找到链表的中间节点,复杂度有点高。
快慢指针
定义快慢指针,同时从头结点开始向后遍历,快指针每次走两步,慢指针每次走一步,当快指针走到末尾结点时,慢指针恰好走到中间结点。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def middleNode(self, head: ListNode) -> ListNode:slow = headfast = headwhile  fast and fast.next:slow = slow.nextfast = fast.next.nextreturn slow

每日一道leetcode(python)876. 链表的中间结点相关推荐

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

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

  2. 每日一道leetcode(python)1823. 找出游戏的获胜者

    每日一道leetcode(python)1823. 找出游戏的获胜者 2021-08-07 共有 n 名小伙伴一起做游戏.小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号.确切地说,从第 i 名 ...

  3. 每日一道leetcode(python)844. 比较含退格的字符串

    每日一道leetcode(python)844. 比较含退格的字符串 2021-09-05 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表 ...

  4. 每日一道leetcode(python)695. 岛屿的最大面积

    每日一道leetcode(python)695. 岛屿的最大面积 2021-08-21 给定一个包含了一些 0 和 1 的非空二维数组 grid .一个 岛屿 是由一些相邻的 1 (代表土地) 构成的 ...

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

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

  6. 每日一道 LeetCode (36):相交链表

    每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...

  7. 每日一道leetcode(python)77. 组合

    每日一道leetcode(python)77. 组合 2021-08-25 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合.你可以按 任何顺序 返回答案.示例 1:输入 ...

  8. 每日一道leetcode(python)46. 全排列

    每日一道leetcode(python)46. 全排列 2021-08-25 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案.示例 1:输入:nums ...

  9. 每日一道leetcode(python)48. 旋转图像

    每日一道leetcode(python)48. 旋转图像 2021-07-27 给定一个 n × n 的二维矩阵 matrix 表示一个图像.请你将图像顺时针旋转 90 度. 你必须在 原地 旋转图像 ...

最新文章

  1. PCL点云分割(2)
  2. 【2017下集美大学软工1412班_助教博客】结对编程1——模块化
  3. 实验吧---隐写术之男神一般都是很低调的!
  4. 机器学习笔记 (聚类) 层次聚类 Agglomerative Clutsering(Single-linkage、Complete-linkage,Group average)
  5. abort has been called
  6. 软件开发的“黑名单”规则设定:benchmark
  7. 蔡砚刚:uAVS3对标x265 veryslow将节省30%码率
  8. 潭州Java中级班(day_05)
  9. 腾讯云数据库 MySQL 8.0 正式上线,性能全面超越官方版本
  10. 百练 01 Charm Bracelet
  11. 微信小程序demo2
  12. 文本匹配开山之作--双塔模型及实战
  13. 4989: [Usaco2017 Feb]Why Did the Cow Cross the Road
  14. 使用directx修复工具解决缺少msvcp100.dll和运行库解决方法
  15. 基于FreeMarker+aspose的Word模板制作及打印
  16. 台式计算机怎么设置自动锁屏,台式机win7怎么设置自动锁屏
  17. ASO关键词覆盖怎么做?要做到多少?怎么提升aso关键词覆盖率
  18. S7-1200PLC通过增量式编码器实现速度采集和模拟量采集
  19. android极光推送 消息穿透广告弹窗,极光推送弹出两次消息,请大佬们帮忙指点迷津...
  20. 测试人真实面试经历:十面阿里,七面头条,六个Offer

热门文章

  1. wn万能命令,wn.run怎么用?
  2. 云南师范大学商学院计算机二级证书,云南师范大学商学院计算机科学和技术系.doc...
  3. 云师大商学院计算机,高考倒计时,云师大商学院为考生加油!
  4. 802.x 标准介绍
  5. 有限体积法及其网格简介
  6. 【观察】打造中国“酷公司”新标杆,联想陪伴中小企业共同成长
  7. 快速收集资料的一种方法
  8. 怎么区分开关电源的PFM与PWM模式?
  9. 电商页面设计 只需懂六个字
  10. 【ThreadX全家桶】GuiX移植之DMA2D