题解 | #判断链表中是否有环#

判断链表中是否有环

https://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
#include<unordered_map>

class Solution {
public:
    bool hasCycle(ListNode *head) {
        ListNode* CountPoint = head;
	  //定义一个哈希表
        unordered_map<ListNode*,int>mymap;
        if(head->next ==nullptr){return false;}
        if(head==nullptr){return false;}
        CountPoint = CountPoint->next;
       //判断mymap是否出现重复元素,先走一遍链表,结束条件为出现重复元素或者最后一个元素指向Null
        while(mymap[CountPoint]<1 && CountPoint->next !=nullptr){
            mymap[CountPoint]++;
            CountPoint = CountPoint->next;           
        }
        if (CountPoint->next==nullptr) {return false;
        }
        else {
         return true;
        }        
    }
};

全部评论

相关推荐

我是没经验的毕业生,这啥情况啊会不会是hr在刷kpi
JamesGosli...:字节boss属于是群发了,我都快入职字节了,其他部门还在和我boss打招呼
点赞 评论 收藏
分享
07-01 23:23
郑州大学 Java
否极泰来来来来:牛客迟早有高三的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 14:35
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务