-
Notifications
You must be signed in to change notification settings - Fork 0
/
Problem_02.java
44 lines (40 loc) · 839 Bytes
/
Problem_02.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/**
* LeetCode
* Problem_02.java
*/
package com.deepak.leetcode.LinkedList;
import com.deepak.leetcode.Library.LinkedListNode;
/**
* <br> Problem Statement :
*
* Given a linked list, determine if it has a cycle in it.
*
* Follow up: Can you solve it without using extra space?
*
* </br>
*
* @author Deepak
*/
public class Problem_02 {
/**
* Method to test if linked list has cycle
*
* @param head
* @return {@link boolean}
*/
public static <T> boolean hasCycle(LinkedListNode<T> head) {
if (head == null) {
return false;
}
LinkedListNode<T> slow = head;
LinkedListNode<T> fast = head.getNext();
while (slow != null && fast != null && fast.getNext() != null) {
if (slow == fast) {
return true;
}
slow = slow.getNext();
fast = fast.getNext().getNext();
}
return false;
}
}