day3:142. 环形链表 II

环,可以联想到操场跑步。两个人同时同地出发,当跑得快的人第一次追上跑的慢的人,快的人一定比慢的人多跑一圈

解题方法:快慢指针

```js

/**

* Definition for singly-linked list.

* function ListNode(val) {

* this.val = val;

* this.next = null;

* }

*/

/**

* @param {ListNode} head

* @return {ListNode}

*/

var detectCycle = function(head) {

let fast = head

let slow = head

let hasCycle = false

while(fast && fast.next){

fast = fast.next.next

slow = slow.next

if(fast == slow){

hasCycle = true

break

}

}

if(hasCycle){

fast = head

while(fast != slow){

fast = fast.next

slow = slow.next

}

}

return hasCycle? slow:null

};

```

总结一下我之前存在的问题:

1.指针移动语法:fast = fast.next.next,而非数字加法:fast +=2

2.第二个循环条件:fast != slow,而非:fast == slow

3.无环情况的特殊处理

关联知识:js对象比较 == 和 === 完全等价

在 JavaScript 中比较两个对象,比较的是它们的内存地址(引用)

相关推荐
心在飞扬1 天前
ReRank重排序提升RAG系统效果
前端·后端
心在飞扬1 天前
RAPTOR 递归文档树优化策略
前端·后端
前端Hardy1 天前
别再无脑用 `JSON.parse()` 了!这个安全漏洞你可能每天都在触发
前端·javascript·vue.js
前端Hardy1 天前
别再让 `console.log` 上线了!它正在悄悄拖垮你的生产系统
前端·javascript·vue.js
青青家的小灰灰1 天前
从入门到精通:Vue3 ref vs reactive 最佳实践与底层原理
前端·vue.js·面试
OpenTiny社区1 天前
我的新同事是个AI:支持skill后,它用TinyVue搭项目还挺溜!
前端·vue.js·ai编程
心在飞扬1 天前
MultiVector 多向量检索
前端·后端
用户39051332192881 天前
async 函数返回的 Promise 状态何时变为 resolved
前端
李剑一1 天前
大屏天气展示太普通?视觉升级!用 Canvas 做动态天气遮罩,雷阵雨效果直接封神
前端·vue.js·canvas
Lee川1 天前
现代Web开发中的CSS继承、Flexbox布局与LocalStorage交互:从文档解析到实践应用
前端·css