题解 | #链表中环的入口结点#

链表中环的入口结点

http://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4

class Solution {
public:
    ListNode* EntryNodeOfLoop(ListNode* pHead) {
        ListNode* p=pHead;
        while(p)
        {
            ListNode *tmp=p->next;
            if(p==tmp)
                return p;
            p->next=p;
            p=tmp;
        }
        return NULL;
    }
};
class Solution {
public:
    ListNode* EntryNodeOfLoop(ListNode* pHead) {
        ListNode* slow=pHead,*fast=slow;
        //使用快慢指针
        if(slow==slow->next)
            return slow;
        if(!slow->next)
            return NULL;
        while(slow&&fast&&fast->next)
        {
            slow=slow->next;
            fast=fast->next->next;
           if(slow==fast)
               break;
        }
        if(fast==NULL)
            return NULL;
        ListNode* p=pHead;
        while(p!=slow)
        {
            p=p->next;
            slow=slow->next;
         }
         return p;
    }
};

图片说明

全部评论

相关推荐

点赞 评论 收藏
分享
07-10 14:08
已编辑
江西农业大学 Java
念旧select:做完把项目放到自己硬盘里给他看,看完拷走
点赞 评论 收藏
分享
06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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