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 中比较两个对象,比较的是它们的内存地址(引用)

相关推荐
码事漫谈3 小时前
大模型输出的“隐性结构塌缩”问题及对策
前端·后端
这儿有一堆花4 小时前
前端三件套真的落后了吗?揭开现代 Web 开发的底层逻辑
前端·javascript·css·html5
.Cnn4 小时前
JavaScript 前端基础笔记(网页交互核心)
前端·javascript·笔记·交互
醉酒的李白、4 小时前
Vue3 组件通信本质:Props 下发,Emits 回传
前端·javascript·vue.js
anOnion5 小时前
构建无障碍组件之Window Splitter Pattern
前端·html·交互设计
NotFound4865 小时前
实战分享Python爬虫,如何实现高效解析 Web of Science 文献数据并导出 CSV
前端·爬虫·python
徐小夕5 小时前
PDF无限制预览!Jit-Viewer V1.5.0开源文档预览神器正式发布
前端·vue.js·github
WangJunXiang65 小时前
Haproxy搭建Web群集
前端
吴声子夜歌5 小时前
Vue.js——自定义指令
前端·vue.js·flutter
小芝麻咿呀6 小时前
vue--面试题第一部分
前端·javascript·vue.js