温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python怎么判断链表是否有环

发布时间:2022-05-09 14:09:44 来源:亿速云 阅读:157 作者:iii 栏目:大数据

本文小编为大家详细介绍“python怎么判断链表是否有环”,内容详细,步骤清晰,细节处理妥当,希望这篇“python怎么判断链表是否有环”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1 链表有环是什么意思?

在判断是否有环前,需要先知道什么是链表中的环?

如下所示的链表有5个节点组成,框内的数字代表编号,也可理解为节点的地址。注意区分地址值和链表的数据域是完全不同的:

python怎么判断链表是否有环  

节点0指向节点3,而节点10又指向节点3,所以节点3就是环的入口,形成如下所示的一个环:

python怎么判断链表是否有环  

如果像下面这样遍历一个有环链表:

# head 是链表的头
while head:
    print(head.data)
    head = head.next

程序将会进入死循环,会在环内无穷的跑下去。

所以,研究如何判断链表是否有环,是一个非常有意义的课题,也是面试中常考的。

2 如何判断链表是否有环

通过哈希的方法,代码比较好理解:

class Solution(object):
    def hasCycle(self, head):
        s = set()
        tmp = head
        while tmp:
            if tmp in s:
                return True
            s.add(tmp)
            tmp = tmp.next 
        return False

读到这里,这篇“python怎么判断链表是否有环”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI