public boolean hasCycle(ListNode head) {
if (head == null || head.next == null) {
return false;
}
ListNode next = head.next.next;
while (head!=null && next!=null && next.next!=null ){ // 需要判断当前节点,和下一个节点和下下一个节点不为空
if (head==next){ // 如果快指针和慢指针相等,则说明有环
return true;
}
head = head.next; // 慢指针
next = next.next.next; // 快指针
}
return false;
} 
京公网安备 11010502036488号