141. Linked List Cycle

Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?

本题可以利用之前的find the duplicate number的方法来解,代码如下:

 1 /**
 2  * Definition for singly-linked list.
 3  * class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) {
 7  *         val = x;
 8  *         next = null;
 9  *     }
10  * }
11  */
12 public class Solution {
13     public boolean hasCycle(ListNode head) {
14         ListNode fast = head;
15         ListNode slow = head;
16         while(fast!=null&&fast.next!=null){
17             fast = fast.next.next;
18             slow = slow.next;
19             if(fast==slow){
20                 return true;
21             }
22         }
23         return false;
24     }
25 }
 
 
原文地址:https://www.cnblogs.com/codeskiller/p/6380500.html