非独立思考
public static boolean hasCycle(ListNode head) {// 快慢指针if (head == null || head.next == null) {return false;}ListNode slow = head;ListNode fast = head.next;while (fast != slow) {// 个人觉得这里是否需要同时判断fast与fast.next都为null是需要看题意的// 我觉得这里是因为,fast的变化是2跳。而且fast==null先判定也是防止fast.next空指针异常if (fast == null || fast.next == null) {return false;}slow = slow.next;fast = fast.next.next;}return true;}
