141.Linked List Cycle

 

 

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def hasCycle(self, head: ListNode) -> bool:
        slow = head
        fast = head
        while fast and fast.next :
            slow = slow.next
            fast = fast.next.next
            if slow == fast:
                return True
        return False

 

Java 版:

public class Solution {
        public boolean hasCycle(ListNode head) {
            if(head == nullreturn false;
            ListNode slow = head, fast = head.next; // 一开始错写为 fast = head 了
            while(fast != null && fast.next != null){
                if(fast == slow) return true; 
                slow = slow.next;
                fast = fast.next.next;
            }
            return false;
        }
}

 

posted @ 2020-05-09 14:43  星海寻梦233  阅读(154)  评论(0编辑  收藏  举报