0141. Linked List Cycle

141. Linked List Cycle #

题目 #

给定链表头节点 head ,判断链表中是否有环。

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。

如果链表中存在环 ,则返回 true 。 否则,返回 false

思路 #

代码 #

class ListNode {
    int val;
    ListNode next;
    ListNode (int x) { val = x; next = null; }
}
public class Solution {
    public boolean hasCycle(ListNode head) {
        ListNode slow=head, fast=head;
        while (fast != null && fast.next != null) {
            fast = fast.next.next;
            slow = slow.next;
            if (slow == fast) return true;
        }
        return false;
    }
}