zoukankan      html  css  js  c++  java
  • linked-list-cycle-ii leetcode C++

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

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

    C++

    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution {
    public:
        ListNode* detectCycle2(ListNode *head){
            ListNode *fast = head;
            ListNode *slow = head;
            if(head==NULL) return NULL;
            while (NULL != fast){
                if (fast != NULL) fast = fast->next;
                if (fast != NULL) fast = fast->next;
                if (slow != NULL) slow = slow->next;
                while(fast != NULL && slow == fast){
                    slow = head;
                    while(slow!=fast){
                        fast = fast->next;
                        slow = slow->next;
                    }
                    return slow;
                }
            }
            return NULL;
        }
        
        ListNode *detectCycle(ListNode *head) {
            ListNode *fast = head;
            ListNode *slow = head;
            if (NULL == head) return NULL;
            while(fast && fast->next){
                fast = fast->next->next;
                slow = slow->next;
                if (fast != NULL && slow == fast)
                    return FindTheFirstSameNode(fast,head);
            }
            return NULL;
        }
        
        ListNode *FindTheFirstSameNode(ListNode* head1, ListNode* head2){
            while(head1 != head2){
                head1 = head1->next;
                head2 = head2->next;
            }
            return head1;
        }
    };
  • 相关阅读:
    IO
    NIO
    Nginx(六)之负载均衡策略
    Nginx(五)之事件相关实现
    Nginx(四)之模块功能
    Nginx(三)之配置指令与内部运行逻辑
    Nginx(二)之数据结构
    Nginx(一)之整体架构框架
    HTTP(二)Web安全
    gson哪些符号html转义,Gson-特殊字符的转义-disableHtmlEscaping()
  • 原文地址:https://www.cnblogs.com/vercont/p/10210280.html
Copyright © 2011-2022 走看看