哈哈笔记之链表

写在前面:


我毕业了,现在充满信心的流窜于各大知名企业,手握自己dream企业的offer。。。是的,这是我的幻想!现在的我刚刚经历了一小波笔试面试的失败。和大多数人一样,从刚开始的充满信心,只看BAT,到现在是个机会都想去试一试,看一看,迫切想要把自己“嫁出去”。我甚至面试失败,私下给面试官发短息说我不要工资,让我当个实习生吧。面试官人很好,拒绝了我。。。我就知道自己的专业知识已经差到连实习生的要求都达不到。。。好!那我从头开始,把需要的专业知识尽可能补回来!来不及校招我就去当实习生,以后走社招!因此有了想要写学习笔记的想法,原因很多,不一一赘述,只想to be a better me...



题目描述: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?



【思路】


class Solution {
public:
    ListNode *detectCycle(ListNode *head) {
       ListNode *fast=head;
       ListNode *slow=head;
        
       do
       {if((fast==NULL) || (fast->next==NULL))
           return 0;
        else 
            {   
           fast=fast->next->next;
           slow=slow->next;
        }
        
       }while(fast!=slow);
       
       slow=head;
       while(slow!=fast){
       fast=fast->next;
       slow=slow->next;
       }
        
       return slow;
        
    }
};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值