leetCode#141. Linked List Cycle
来源:互联网 发布:北京壁虎网络 编辑:程序博客网 时间:2024/06/05 00:22
Description
Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
Code
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def hasCycle(self, head): """ :type head: ListNode :rtype: bool """ fast = slow = head slowMove = False while fast != None: if slowMove: slow = slow.next fast = fast.next if fast == slow: return True slowMove = not slowMove return False
也可以这么写,剩一个slowMove变量:
fast = slow = headwhile fast.next != None && fast.next.next != None: fast = fast.next.next slow = slow.next ...
还有StefanPochmann大佬利用try catch来处理的:
def hasCycle(self, head): try: slow = head fast = head.next while slow is not fast: slow = slow.next fast = fast.next.next return True except: return False
他这么写的原因是:
Anyway, I’d say why I did it is speed. I could use LBYL instead, i.e., use explicit extra tests checking whether next nodes actually exist before trying to access them, but here I chose EAFP. Python will check for access errors anyway, so additionally checking it myself would be a waste of time.
And a meta-reason I did that: Probably the LBYL-way had already been posted, and I don’t post when I have nothing new to add to the discussion.
哈哈哈,大佬就是大佬,出手就是要不一样。
阅读全文
0 0
- [LeetCode]141.Linked List Cycle
- LeetCode 141. Linked List Cycle
- [Leetcode] 141. Linked List Cycle
- LeetCode 141. Linked List Cycle
- [leetcode] 141.Linked List Cycle
- leetcode 141.Linked List Cycle
- [leetcode] 141. Linked List Cycle
- [LeetCode]141. Linked List Cycle
- 141. Linked List Cycle LeetCode
- [LeetCode]141. Linked List Cycle
- LeetCode 141. Linked List Cycle
- LeetCode *** 141. Linked List Cycle
- [LeetCode]141. Linked List Cycle
- LeetCode 141. Linked List Cycle
- [leetcode]141. Linked List Cycle
- leetcode-141. Linked List Cycle
- 141.[LeetCode]Linked List Cycle
- 【leetcode】141. Linked List Cycle
- HTTP URLConnection 发送get请求
- Vue -- router-link(传参)
- 12-12作业
- Linux
- 以太坊开发文档10
- leetCode#141. Linked List Cycle
- 指针函数和函数指针
- WAL日志的命名规则深度解析(二)
- 修改密码-测试用例设计
- localStorage使用小结
- JavaScript window、location对象基础知识整理
- CollectionUtils工具类的使用
- Android 导入第三方jar时 出现ClassNotFoundException
- 《Text Mining and Analytics》学习笔记——第一周