题目描述在这篇文章里:
https://blog.youkuaiyun.com/Kukeoo/article/details/114461881
本篇讨论遍历解法。
多一种解法,多一种思维。
一、思路
这个思路很容易理解,但是时间复杂度更大。
将每次遍历过的结点加入到一个unordered_map容器中。每次存放的时候判断当前节点是否存在,如果存在,说明有环,直接返回true。否则返回false。
二、代码
class Solution {
public:
bool hasCycle(ListNode *head) {
unordered_map<ListNode*, bool> m;
while (head) {
if (m.find(head) != m.end()) return true;
m[head] = true;
head = head->next;
}
return false;
}
};

该博客探讨了一种使用unordered_map容器进行链表遍历来检测环路的算法。通过在遍历过程中记录已访问节点,若遇到已存在的节点则表明存在环路,返回true;否则继续遍历直至结束返回false。
687

被折叠的 条评论
为什么被折叠?



