【解析】
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; };