c_cpp 141.cpp
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 141.cpp相关的知识,希望对你有一定的参考价值。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
bool hasCycle(ListNode *head) {
//return func1(head);
return func2(head);
}
bool func2(ListNode *head) {
if (head == NULL) return false;
ListNode *fast = head, *slow = head;
while(fast && slow && fast->next) {
slow = slow->next;
fast = fast->next->next;
if (slow == fast) return true;
}
return false;
}
bool func1(ListNode *head) {
if (head == NULL) return false;
ListNode* p = head;
map<ListNode*, bool> hash;
while(p) {
if(!hash[p]) {
hash[p] = true;
p=p->next;
} else {
return true;
}
}
return false;
}
};
以上是关于c_cpp 141.cpp的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 200.岛屿数量
c_cpp 127.单词阶梯
c_cpp MOFSET
c_cpp MOFSET
c_cpp 31.下一个排列
c_cpp string→char *