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; }