判斷鏈表是否有環(huán)
public class Solution {
public boolean hasCycle(ListNode head) {
if(head == null)return false;
// 定義快慢兩個指針
ListNode slow = head;
ListNode fast = head;
// 開啟循環(huán),快慢兩個指針進(jìn)行遍歷,中途如果相等奄毡,則說明有環(huán)
while(fast !=null && fast.next != null){
// 慢指針每次走一步
slow = slow.next;
// 快指針每次走兩步
fast = fast.next.next;
// 如果相遇唆姐,有環(huán)
if(fast == slow){
return true;
}
}
return false;
}
}