Python3实现的判断环形链表算法示例
2019-03-28 10:59
579 查看
本文实例讲述了Python3实现的判断环形链表算法。分享给大家供大家参考,具体如下:
给定一个链表,判断链表中是否有环。
方案一:快慢指针遍历,若出现相等的情况,说明有环
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def hasCycle(self, head): """ :type head: ListNode :rtype: bool """ slow = fast = head while fast and fast.next: slow = slow.next fast = fast.next.next if fast == slow: return True return False
方案二:遍历链表,寻找.next=head的元素。 但超出时间限制
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def hasCycle(self, head): """ :type head: ListNode :rtype: bool """ if not head: return False cur = head.next while cur: if cur.next == head: return True cur = cur.next return False
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Python实现判断一个整数是否为回文数算法示例
- Python实现的朴素贝叶斯算法经典示例【测试可用】
- Python实现破解猜数游戏算法示例
- 判断平面内一点和三角形位置关系的算法和python语言的程序实现
- 单链表之python实现学习笔记及环形链表-反转链表
- PHP环形链表实现方法示例
- Python实现的求解最大公约数算法示例
- Python实现合并两个有序链表的方法示例
- Python实现的单向循环链表功能示例
- Python数据结构与算法之字典树实现方法示例
- Python实现的多叉树寻找最短路径算法示例
- 带表头的单链表算法分析(前插法示例,C语言实现)
- JS实现的合并两个有序链表算法示例
- Python实现KNN(K-近邻)算法的示例代码
- 用Python实现的数据结构与算法:链表
- Python实现的破解字符串找茬游戏算法示例
- Python实现的knn算法示例
- python实现机械分词之逆向最大匹配算法代码示例
- Python实现字符串匹配算法代码示例
- Python实现在某个数组中查找一个值的算法示例