给定一个带有头结点 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 之间。
/*** Definition for singly-linked list.* function ListNode(val) {*     this.val = val;*     this.next = null;* }*/
/*** @param {ListNode} head* @return {ListNode}*/
var middleNode = function(head) {};

个人解法

var middleNode = function(head) {var length = 1,node = head;//测量链表长度while(node.next !== null){length++;node = node.next;}//设置中间长度if(length % 2 === 0){length = length / 2 + 1;}else{length = Math.ceil(length / 2);}//重新查找中间长度的节点node = head;while(length !== 1){node = node.next;length--;}return node;
};

LeetCode(876)——链表的中间结点(JavaScript)相关推荐

  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. 876. 链表的中间结点--javaScript实现

    解题思路 注意:如果有两个中间结点,则返回第二个中间节点. 用快慢指针来解,快慢指针常用于找中点或者环形链表. 慢指针一次走一步,快指针一次走两步; 当快指针走到终点时,慢指针刚好在中间. 代码 /* ...

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

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

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

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

  8. leetcode 876.链表中间结点

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

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

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

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

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

最新文章

  1. windows form窗体应用程序,建一个记事本参考代码,重点是打开,保存,另存为...
  2. linux配置4g网络命令_Linux网络基本配置命令
  3. batocera_旧电脑变身影音游戏主机,来自法国大神的batocera系统
  4. android UI开源库
  5. centos7-每天定时备份 mysql数据库
  6. php mysql 模型_ThinkPHP数据库与模型
  7. shell 传递参数
  8. 使用Inno Setup 打包.NET程序,并自动安装.Net Framework
  9. NLP特征工程(待完善细节)
  10. 移动App后台Java开发银联支付后台接口
  11. EEE802.11协议基础知识
  12. 轻松学会Python列表解析式
  13. Python助你抢红包
  14. xx闪购——商品信息
  15. Web安全-Tomcat禁用Web服务器内置不安全请求方法
  16. 基于 UAP 的 Web Service 开发
  17. 100 个网络基础知识普及,看完成半个网络高手
  18. 典型的计算机串行和并行总线,串行总线和并行总线的区别
  19. 新中新二代身份证dll调用,报尝试读取或写入受保护的内存,这通常指示其他内存已损坏 这个错 ...
  20. 页面静止一定时间没有操作跳转页面

热门文章

  1. git_day01_01——概要
  2. ASP.NET性能监控和优化入门
  3. LVS学习笔记--DR模式部署
  4. android 网络连接判断
  5. 030、JVM实战总结:G1分代回收原理深度图解:为什么回收性能比传统GC更好?
  6. 【工程项目经验】Linux网络盘挂载方法
  7. 2 环境设置_用友U8V10.1安装(Windows 7环境)
  8. vue created 调用方法_vue中的eventBus会产生内存泄漏吗
  9. confluence统计用户文章_首次,Flink公众号公开一些后台统计数据
  10. Java-发送邮件descriptor