博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode每日一题:链表的中间结点(No.876)
阅读量:6925 次
发布时间:2019-06-27

本文共 672 字,大约阅读时间需要 2 分钟。

题目:链表的中间结点


给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点复制代码

示例:


输入:[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.输入:[1,2,3,4,5,6]输出:此列表中的结点 4 (序列化形式:[4,5,6])由于该列表有两个中间结点,值分别为 3 和 4,我们返回第二个结点。复制代码

思考:


这道题可以通过快慢指针法来解决。定义两个指针,快指针是慢指针速度的两倍。当快指针走到链表末尾时,慢指针正好到达链表的中间节点。复制代码

实现:


class Solution {    public int fib(int N) {        if (N == 0) {            return 0;        }        if (N == 1) {            return 1;        }        return fib(N - 1) + fib(N - 2);    }}复制代码

转载于:https://juejin.im/post/5c9f86426fb9a05e4868b7cd

你可能感兴趣的文章
基于RHEL5的源码编译搭建LNMP架构
查看>>
Exchange 2003 迁移至 Exchange 2010 完全攻略(一)
查看>>
用联系的观点看问题——有感DataGridView多选删除问题的解决
查看>>
监控软件cacti添加主机
查看>>
LINUX 常见问题1000个详细解答
查看>>
清理可能废弃的AD用户和计算机账户
查看>>
Maven2整合集成Myeclipse开发环境
查看>>
秋色园QBlog技术原理解析:独创的多语言翻译机制(九)
查看>>
MySQL 5.7在RHEL/CentOS上的安装
查看>>
mysql AB复制搭建以及常见故障排查
查看>>
我对数据库范式的理解
查看>>
IPSEC 、GRE、PIX
查看>>
linux环境开发私房菜
查看>>
iptable和netfilter
查看>>
查看进程端口情况
查看>>
Kirin的茶水间>正文 春Phone计划 51cto沙龙上海站
查看>>
swift UI专项训练29 Page Control页控件
查看>>
Linux目录结构
查看>>
Ghost使用及找不到Ghostree.txt文件问题
查看>>
VMware vSphere常见问题汇总(二十)
查看>>