/*
 * function ListNode(x){
 *   this.val = x;
 *   this.next = null;
 * }
 */

/**
 * 
 * @param head ListNode类 
 * @return bool布尔型
 */
//WeakSet用来临时存储链表的节点,如果当前节点weakset中已经存在,说明有环
function hasCycle( head ) {
    let set = new WeakSet();
    let p = head;
    while(p !== null){
        if(set.has(p)){
            return true;
        }else{
            set.add(p)
        }
        p=p.next;
    }
    return false;  
}
module.exports = {
    hasCycle : hasCycle
};