LeetCode141:Given a linked list, determine if it has a cycle in it.
来源:互联网 发布:催眠的电影 知乎 编辑:程序博客网 时间:2024/06/10 02:17
LeetCode141:Given a linked list, determine if it has a cycle in it.
给定链表,判断是否存在环
1、该题的思路,如果使用额外空间,解决就很容易。我们用map存储每个节点引用,如果该引用的值大于1,就说明在该位置存在环。
public boolean hasCycle(ListNode head){if (head == null)return true;if (head.next == null && head.next == head)return false;Map<ListNode, Integer> map = new HashMap<ListNode, Integer>();ListNode p = head;while (p != null){if (map.containsKey(p)&&map.get(p) == 1)return true;map.put(p, 1);p = p.next;}return false;}
同样可以用该方法返回环存在的位置
public ListNode detectCycle(ListNode head){if (head == null)return null;if (head.next == null && head.next == head)return head;Map<ListNode, Integer> map = new HashMap<ListNode, Integer>();ListNode p = head;while (p != null){if (map.containsKey(p) && map.get(p) == 1)return p;map.put(p, 1);p = p.next;}return null;}
0 0
- LeetCode141:Given a linked list, determine if it has a cycle in it.
- Given an integer, write a function to determine if it is a power of two.
- Given an integer, write a function to determine if it is a power of two
- LeetCode141:Linked List Cycle
- leetcode141. Linked List Cycle
- leetcode141: Linked List Cycle
- leetcode141 Linked List Cycle
- LeetCode141. Linked List Cycle
- leetcode141. Linked List Cycle
- leetcode141~Linked List Cycle
- LeetCode141. Linked List Cycle
- leetcode141. Linked List Cycle
- Leetcode141. Linked List Cycle
- Leetcode141. Linked List Cycle
- leetcode141. Linked List Cycle
- LeetCode141. Linked List Cycle
- Leetcode141. Linked List Cycle
- Leetcode141. Linked List Cycle
- python开发工具及入门
- 字符编码
- requireJS源码分析
- C/C++ 数组下标可以是负值
- (1059)HDU
- LeetCode141:Given a linked list, determine if it has a cycle in it.
- Merge Sorted Array
- 24天学会设计模式------策略模式
- Android中自定义特定颜色的Toast
- php处理数组时,常用的两个函数
- 最小生成树 Prim以及Kruskal算法及效率解析
- c#一次上传多个文件的写法
- 使用C#获取CPU及硬盘序列号的源代码
- 人脸识别系统原理