zoukankan      html  css  js  c++  java
  • Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null.

    Follow up:
    Can you solve it without using extra space?

    分析:和Linked List Cycle类似,还是用map。

    用时:60ms

     1 /**
     2  * Definition for singly-linked list.
     3  * struct ListNode {
     4  *     int val;
     5  *     ListNode *next;
     6  *     ListNode(int x) : val(x), next(NULL) {}
     7  * };
     8  */
     9 class Solution {
    10 public:
    11     ListNode *detectCycle(ListNode *head) {
    12         map<ListNode*, bool> m;
    13         while(head){
    14             if(m.find(head) == m.end()) m[head] = true;
    15             else return head;
    16             head = head->next;
    17         }
    18         return NULL;
    19     }
    20 };

    同时,对于Linked List Cycle中的较优方法,同样适用于本题。当fast和slow指针相遇时,令设指针slow2 = head,那么slow2和slow一定会在相遇的地方重合。

    用时:16ms

     1 /**
     2  * Definition for singly-linked list.
     3  * struct ListNode {
     4  *     int val;
     5  *     ListNode *next;
     6  *     ListNode(int x) : val(x), next(NULL) {}
     7  * };
     8  */
     9 class Solution {
    10 public:
    11     ListNode *detectCycle(ListNode *head) {
    12         ListNode *fast = head, *slow = head;
    13         while(fast && fast->next){
    14             fast = fast->next->next;
    15             slow = slow->next;
    16             if(fast == slow){
    17                 ListNode* slow2 = head;
    18                 while(slow){
    19                     if(slow2 == slow) return slow;
    20                     slow = slow->next;
    21                     slow2 = slow2->next;
    22                     
    23                 }
    24             }
    25         }
    26         return NULL;
    27     }
    28 };
  • 相关阅读:
    随机出题问题
    简读《构建之法》提问
    大二下第一次课后作业
    大道至简第七第八章读后感
    继承与接口动手动脑
    大道至简第六章读后感
    数组里的随机数问题
    大道至简第五章读后感
    输入法的用户界面
    搜索水王
  • 原文地址:https://www.cnblogs.com/amazingzoe/p/4518313.html
Copyright © 2011-2022 走看看