/* * function ListNode(x){ * this.val = x; * this.next = null; * } */ /** * * @param head ListNode类 * @return bool布尔型 */ function hasCycle( head ) { // write code here if (!head || !head.next) { return false } let quickPoint = head; let slowPoint = head; while(quickPoint && slowPoint ){ quickPoint = quickPoint.next; slowPoint = slowPoint.next; if(quickPoint){//这一步不写在一起是为了保证不存在quickPoint为空的情况下还进行.next的赋值 quickPoint = quickPoint.next; } if(quickPoint == slowPoint){ return true } } return false } module.exports = { hasCycle : hasCycle };