思路:设置两个指针同时指向链表的头,开始向前移动,一个指针一次前进一步,另一个前进两步,如果链表中有环形那么两个指针肯定会相遇。
用两个指针来遍历这个单向链表,第一个指针p1,每次走一步;第二个指针p2,每次走两步;当p2 指针追上p1的时候,就表明链表当中有环路了。A.判断链表是否有环 设置两个指针p1和p2,初始值均指向链表头,p1每次向前走一步,而p2每次向前走两步。如果链表有环,则p2先进入环里,而p1后进入环里,两个...
找到两个【有环】链表的相交结点 思路 用两个指针,一个指针步长为1,一个指针步长为2,若最后相遇,则链表有环 有环 返回两指针相遇位置 无环 返回NULL 判断链表是否带环的函数: /** 判断链表是否有环 node 链表头指针 方法:用两个指针,一个指针步长为1,一个指针步长为2,若最后相遇,则链表有环 有环 返回...
判断链表中是否有环 public class Solution { public boolean hasCycle(ListNode head) { ListNode head1=head; ListNode head2=head; if(head==null){ return false; } while(head1!=null&&head1.next!=null){ head2=head2.next; head1=head1.next.next; if(head1==head2) return true; } return fa...