leetcode876. 链表的中间结点

题目描述

链接: leetcode876.

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

题解

快慢指针

  • java解法
public class Leetcode876 {class ListNode {int val;ListNode next;ListNode(int x) {val = x;next = null;}}public ListNode middleNode(ListNode head) {ListNode slow = head;ListNode fast = head;while (fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;}return slow;}
}
  • golang解法
type ListNode struct {Val intNext *ListNode
}func middleNode(head *ListNode) *ListNode {fast, slow := head, headfor fast != nil && fast.Next != nil {fast = fast.Next.Nextslow = slow.Next}return slow
}

leetcode876. 链表的中间结点相关推荐

  1. leetcode-876. 链表的中间结点解法

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

  2. LeetCode-876. 链表的中间结点 C语言

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

  3. LeetCode-876. 链表的中间结点

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

  4. leetcode876.链表的中间结点

    文章目录 前言 一.方法一 二.方法二 总结 前言 leetcode新手村876.链表的中间结点 提示:以下是本篇文章正文内容,下面案例可供参考 一.方法一 第一种方法: 首先遍历一遍链表,记录下节点 ...

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

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

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

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

  7. 876. 链表的中间结点(C语言)

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

  8. 七十一、去重交换排序链表、 求链表的中间结点

    @Author:Runsen 编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化. ---- Runsen 最近在重新梳理学算法的知识,本文为链表常见操作复习的总结文章,会讲解 ...

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

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

最新文章

  1. JS控制图片显示的大小(图片等比例缩放)
  2. 图解TCP协议中的三次握手和四次挥手
  3. python 抛出异常与自定义异常raise
  4. dynamic-insert=true dynamic-update=true,插入默认值的情况
  5. 学习笔记--------分布式事务产生的场景
  6. 求一个向量变换为另一个向量的矩阵_OpenGL里旋转等变换矩阵为什么是4x4的矩阵...
  7. lightOJ 1132 Summing up Powers(矩阵 二分)
  8. phoneGap可行性分析
  9. mysql的本地id可以随便设置马_Mysql主从复制原理及搭建
  10. 虚拟机单一网卡设置两个IP
  11. TP5实践小总结(1)
  12. Vim 配置详解_wuyang
  13. tree 命令以树状图列出目录的内容
  14. 社交APP软件开发流程解析
  15. 毕向东_Java基础
  16. NorthWind 数据库整体关系
  17. TI am3352 gpio 驱动
  18. 查看弹出广告来自哪个软件
  19. hud 6078 Wavel Sequence
  20. 在带有双硬盘的Windows10系统上安装Ubuntu16.04系统

热门文章

  1. python完全支持面向对象编程思想_面向对象的编程思想和Python的继承和多态,特殊方法,引用计数...
  2. sqlyog如何设置.时提示字段名_Spring boot 中使用 Tomcat时 用户名 密码如何设置呢?...
  3. idea解决activiti(*.bpmn)文件乱码问题。
  4. HashMap由浅入深(jdk8)
  5. mysql数据库sql注入原理_sql注入原理详解(一)
  6. webpack4学习之问题一
  7. Spring模块介绍
  8. Python数据科学|第一章:数据科学家的武器库
  9. 【优达学城测评】SQLite 安装(2)
  10. Android第四十五天