no message
This commit is contained in:
parent
0daf1bd097
commit
edab31e4b8
@ -22,6 +22,23 @@ function reverseList(head) {
|
||||
|
||||
### 环形链表判断
|
||||
|
||||
**什么是环形链表?**
|
||||
环形链表是指链表中某个节点的 `next` 指针指向了链表中之前的某个节点,从而形成一个闭环。遍历这种链表时会陷入无限循环,永远无法到达 `null`。
|
||||
|
||||
```
|
||||
正常链表: 1 -> 2 -> 3 -> 4 -> null
|
||||
环形链表: 1 -> 2 -> 3 -> 4
|
||||
↑ ↓
|
||||
└─────────┘
|
||||
```
|
||||
|
||||
**实际应用场景:**
|
||||
- **内存泄漏检测**:对象间循环引用导致垃圾回收器无法回收,需要检测环
|
||||
- **死锁检测**:进程等待资源形成环形依赖时会发生死锁
|
||||
- **约瑟夫环问题**:n 个人围成一圈报数淘汰的经典算法问题
|
||||
- **循环播放列表**:音乐/视频循环播放时最后一项指向第一项
|
||||
- **游戏地图边界**:无缝世界地图从一端走到另一端
|
||||
|
||||
```js
|
||||
// 快慢指针法:如果有环,快指针一定会追上慢指针
|
||||
function hasCycle(head) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user