Leetcode链表题之:142环形链表的入环点
发布日期:2022-02-05 22:03:44
浏览次数:1
分类:技术文章
本文共 1029 字,大约阅读时间需要 3 分钟。
题目描述:
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。
为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。
说明:不允许修改给定的链表。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/linked-list-cycle-ii解题思路及代码:
### 解题思路也是经典的快慢指针问题,首先判断该链表是否有环,无环则直接返回None;有环的话,此处有一个追及问题的规律,及两个快慢指针的相遇点到入环点的距离与头结点到入环点的距离是相等的,画个图即能看出此规律,所以下一步只要相遇点与头结点同时向前走一步,他们再次的相遇点即是循环链表入环的点。### 代码```python# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def detectCycle(self, head): """ :type head: ListNode :rtype: ListNode """ if not head or head.next == None or head == None: return None p, q = head.next, head.next.next while q != p and q and q.next: p = p.next q = q.next.next if q != p: return None p = head while q != p: p = p.next q = q.next return p
提交结果:
转载地址:https://blog.csdn.net/lu_yunjie/article/details/114387644 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月26日 08时08分13秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
数据库在运行的job kill掉进程后又自动启动?
2019-04-28
你肯定没做过的oracle9i到11g的增量传输表空间
2019-04-28
查看rman中list backup对应的sql
2019-04-28
Oracle RAC添加服务名实现单节点访问
2019-04-28
记录一则完整的SPA(10g->11g)测试过程
2019-04-28
Oracle查询存在外键约束但对应列索引缺失
2019-04-28
通过拷贝block实现system文件大量坏块恢复
2019-04-28
impdp TABLE_EXISTS_ACTION=REPLACE覆盖后怎么恢复?
2019-04-28
oracle11g修改用户名
2019-04-28
WRI$_ADV_OBJECTS表过大,导致PDB的SYSAUX表空间不足
2019-04-28
tfactl diagcollect -srdc ora600收集错误信息
2019-04-28
vsftp快速配置
2019-04-28
asm rebalance 三个阶段
2019-04-28
12c以后ASM单盘大小可超2TB
2019-04-28
Pin-point安装参考
2019-04-28
在线快速清理listener.log日志
2019-04-28
oracle的字段类型number,number(*),number(*,0)
2019-04-28