判断环形链表

来源:9-4 环形链表-代码实操

weixin_宝慕林5154128

2019-10-06

为什么fast 初始值要从head.next开始 ?从head开始不行么? 动画演示也是从head开始的

写回答

2回答

qq_狼啸_0

2020-12-08

/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 *//**
 * @param {ListNode} head
 * @return {boolean}
 */
 var hasCycle = function(head) {    // 防止空节点的情况,直接退出
    if (!head) return false

    let slowP = fastP =  head   
    while(fastP && fastP.next) {
        slowP = slowP.next
        fastP = fastP.next.next        
        if (slowP === fastP) {            
            return true
        }
    }    
    return false
 };


当然可以啊,如上所示

0
0

快乐动起来呀

2019-10-07

fast初始值从head.next开始才是正确的,你得保证两个指针的移动速度和起点不一样才行

0
1
aaayumi555
只保证移动速度不一样不可以吗
2021-08-03
共1条回复

JavaScript版 数据结构与算法

填补前端同学的算法短板,掌握面试中最常见的算法与数据结构

2467 学习 · 395 问题

查看课程