判断链表中是否有环
程序员文章站
2022-07-13 23:36:16
...
判断链表是否有环
思路:采用双指针,定义一个快指针,一个慢指针,快指针如果追上了慢指针,则说明有环,否则没有环。
/**
ListNode
/
public boolean isRing(Listnode node){
//先判断链表是否为null
if(node == null){
return false;
}
//定义快慢节点
ListNode fast = node;
ListNode slow = node;
//此处条件是,node.next不能为null,以及node.next.next不能为null
while(fast!=null && fast.next != null){
//快节点每次比慢节点快1个,这样才能追上慢节点
fast = fast.next.next;
slow = slow.next;
if(fast == slow){
return true;
}
}
return false;
}