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

判断链表中是否有环

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

'''
/**

  • 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) {

      set<ListNode*>s;
      while(head){
          if(s.find(head)!=s.end()){
              return true;
          }
          s.insert(head);
          head=head->next;
      }
      return false;

    }
    };
    '''
    '''
    /**

  • 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) {

      ListNode*slow=head,*fast=head,*meet=nullptr;
      while(fast){
          slow=slow->next;
          fast=fast->next;
          if(!fast)
              return false;
          fast=fast->next;
          if(fast==slow){
              return true;
          }
      }
     // if(meet==nullptr) return false;

    // while(head&&meet){
    // if(head==meet){
    // return true;
    // }
    // head=head->next;
    // meet=meet->next;
    // }

      return false;

    }
    };
    '''

全部评论

相关推荐

和蔼:在竞争中脱颖而出,厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
头像
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务