算法打卡Day13_leetcode _876. 链表的中间结点

简介: 算法打卡Day13_leetcode _876. 链表的中间结点

Leetcode原题

876.链表的中间结点

20200401134307494.png

思路

这一题,还是比较简单的,让输出中间的链表节点值。如果是链表长度是奇数可以直接输出中间数。偶数的话,输出中间数后一个。

方法一 遍历迭代长度输出

就是通过遍历的同时把值放到一个集合数组中。同时我们可以得到这个链表的长度是奇数还是偶数。然后我们得到中间数的下标,直接输出即可。实现简单,可自己实现

方法二 快慢指针

如果你做过上一篇博客,回文链表你就好发现一个规律。我要是使用2个不同移动步数的指针。即快慢指针,一个每次移动2步,一个移动1步。刚好,快指针走完,走到末尾的时候,慢指针刚好走到链表中的位置。所以我们就这样这样快速实现

    public ListNode middleNode(ListNode head) {
        if(head ==null){
            return null;
        }
        ListNode fastPro =head;
        ListNode slowPro =head;
        while(fastPro!=null && fastPro.next !=null){
            fastPro =fastPro.next.next; //快指针每次2步
            slowPro =slowPro.next; //慢指针1步
        }
        return slowPro;
    }

20200401134307494.png

第一次发现自己这么有脑子哈哈 ~~

祝大家五一节日快乐哦。。。。

有兴趣的老爷,还可以关注我的公众号【一起收破烂】,回复【006】获取 最新java面试资料以及简历模型120套哦~


相关文章
|
5月前
【力扣】-- 移除链表元素
【力扣】-- 移除链表元素
55 1
|
1月前
|
存储 机器学习/深度学习 算法
C 408—《数据结构》算法题基础篇—链表(下)
408考研——《数据结构》算法题基础篇之链表(下)。
86 29
|
6天前
|
存储 监控 算法
公司监控上网软件架构:基于 C++ 链表算法的数据关联机制探讨
在数字化办公时代,公司监控上网软件成为企业管理网络资源和保障信息安全的关键工具。本文深入剖析C++中的链表数据结构及其在该软件中的应用。链表通过节点存储网络访问记录,具备高效插入、删除操作及节省内存的优势,助力企业实时追踪员工上网行为,提升运营效率并降低安全风险。示例代码展示了如何用C++实现链表记录上网行为,并模拟发送至服务器。链表为公司监控上网软件提供了灵活高效的数据管理方式,但实际开发还需考虑安全性、隐私保护等多方面因素。
13 0
公司监控上网软件架构:基于 C++ 链表算法的数据关联机制探讨
|
1月前
|
存储 算法 C语言
C 408—《数据结构》算法题基础篇—链表(上)
408考研——《数据结构》算法题基础篇之链表(上)。
96 25
|
4月前
|
存储 算法 Java
leetcode算法题-有效的括号(简单)
【11月更文挑战第5天】本文介绍了 LeetCode 上“有效的括号”这道题的解法。题目要求判断一个只包含括号字符的字符串是否有效。有效字符串需满足左括号必须用相同类型的右括号闭合,并且左括号必须以正确的顺序闭合。解题思路是使用栈数据结构,遍历字符串时将左括号压入栈中,遇到右括号时检查栈顶元素是否匹配。最后根据栈是否为空来判断字符串中的括号是否有效。示例代码包括 Python 和 Java 版本。
|
4月前
|
算法 安全 搜索推荐
2024重生之回溯数据结构与算法系列学习之单双链表精题详解(9)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构王道第2.3章之IKUN和I原达人之数据结构与算法系列学习x单双链表精题详解、数据结构、C++、排序算法、java、动态规划你个小黑子;这都学不会;能不能不要给我家鸽鸽丢脸啊~除了会黑我家鸽鸽还会干嘛?!!!
|
4月前
|
存储 Web App开发 算法
2024重生之回溯数据结构与算法系列学习之单双链表【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】
数据结构之单双链表按位、值查找;[前后]插入;删除指定节点;求表长、静态链表等代码及具体思路详解步骤;举例说明、注意点及常见报错问题所对应的解决方法
|
4月前
|
存储 算法 搜索推荐
链表的中间结点
【10月更文挑战第24天】链表的中间结点是链表操作中的一个重要概念,通过快慢指针法等方法可以高效地找到它。中间结点在数据分割、平衡检测、算法应用等方面都有着重要的意义。在实际编程中,理解和掌握寻找中间结点的方法对于解决链表相关问题具有重要价值。
36 1
|
5月前
|
算法
每日一道算法题(Leetcode 20)
每日一道算法题(Leetcode 20)
52 2
|
5月前
|
存储 缓存 算法
经典算法之链表篇(三)
经典算法之链表篇(三)
111 4