【解析】
1.遍历每个节点
2.遍历过的节点用新的空间来标记
JS新的空间不用在使用前声明,用法参考实现。(JS原型、原型链)
3.如果遇到标记过的节点则是环形
【实现】
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @return {boolean}
*/
var hasCycle = function(head) {
node=head;
while(node){
//初次用到node.isVisit = undefined
if(node.isVisit){
return true;
}else{
node.isVisit=true;
}
node=node.next;
}
return false;
};