[leetcode] 141. Linked List Cycle
来源:互联网 发布:linux系统下载iso mac 编辑:程序博客网 时间:2024/05/19 08:04
Question:
Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
Solution:
很有趣的一道题。要求使用O(1)的空间复杂度。主要思路是对于访问过的节点,都把指向下一个节点的指针指向head,然后跳到原本的下一个节点继续访问。这样,如果有环,就会在某个时刻跳回到一个已访问的节点,然后访问该节点的下一个节点,就会访问到head,于是检测到右环。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool hasCycle(ListNode *head) { if (!head || !head->next) return false; ListNode *tmp = head->next, *t; while (tmp) { if (tmp == head) return true; t = tmp->next; tmp->next = head; tmp = t; } return false; }};
阅读全文
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
- 网上挂号V1.0之开始挂号
- linux基本操作---find命令
- 免费送纸质书, 感谢亲们的陪伴~
- AtCoder Beginner Contest 081
- 习题8.1
- [leetcode] 141. Linked List Cycle
- greenDao 引入 eclipse 中使用
- Java Interface接口的应用
- Sequence Modeling With CTC
- zookeeper连接超时异常
- Gradle的安装与配置(Windows)
- 习题9.1
- 备忘:jupyter notebook 更改默认目录
- Callable和Future的应用