1. 程式人生 > >java 鏈表中是否有環

java 鏈表中是否有環

clas pub 是否 tno his 沒有 boolean java 鏈表 java

public class 鏈表中是否有環
{
class ListNode
{
ListNode next;
int val;

ListNode(int x)
{
this.val = x;
this.next = null;
}
}

public boolean hasCycle(ListNode head)
{
if (head == null)
{
return false;
}
// 利用長短步,快的指針兩個結點,慢的指針一步一個結點,當快的指針遇見null結束 則鏈表中沒有環,若快的指針遇到慢的指針則,鏈表中有環
ListNode quick = head;
ListNode slow = head;
while (quick.next != null && quick.next.next != null)
{
quick = quick.next.next;
slow = slow.next;
if (quick == slow)
{
return true;
}
}
return false;
}
}

java 鏈表中是否有環