题解 | 判断链表中是否有环
判断链表中是否有环
https://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9
import java.util.*;
/**
* Definition for singly-linked list.
* class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public boolean hasCycle(ListNode head) {
/**
思路分析:
1.将各个节点放到一个hashset中,若是
new HashSet<>();
*/
HashSet<ListNode> set = new HashSet<>();
ListNode dummyNode = new ListNode(-1);//虚拟头节点
dummyNode.next = head;
ListNode p = head;
// boolean flag = false;
while(p != null){
if(set.contains(p)){
return true;
}
set.add(p);
p = p.next;//向后移动
}
return false;
}
}
