Leetcode[141]-Linked List Cycle

来源:互联网 发布:网络传奇游戏排行榜 编辑:程序博客网 时间:2024/06/11 09:24

Link:https://leetcode.com/problems/linked-list-cycle/

Given a linked list, determine if it has a cycle in it.

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


分析:设置两个临时指针,一个一次走一步,一个一次走两步,如果再次相遇,表示有环。

Code(c++):

/** * 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) {        if(head==NULL || head->next==NULL) return false;        ListNode *first = head,*second = head;        while(second!=NULL && second->next!=NULL){            second = second->next->next;              first = first->next;            if(first == second)                return true;        }        return false;    }};
0 0
原创粉丝点击