/*
* function ListNode(x){
* this.val = x;
* this.next = null;
* }
*/
/**
*
* @param head ListNode类
* @return bool布尔型
*/
function hasCycle( head ) {
// write code here
while(head){
if(head.flag==true)return true;
head.flag=true;
head=head.next;
}
return false;
}
module.exports = {
hasCycle : hasCycle
};
这个方法是直接给链表的每个节点添加访问过的标记,一次遍历即可实现。无环的话就会退出while循环



京公网安备 11010502036488号