赞
踩
链表类的题,一般要想到指针,双指针法。
链表相交,链表成环等。
在成环链表中,快慢指针一定会相遇,就比如说在操场跑步,同一起点,快的人跑两圈,慢的人只跑一圈,第一圈一定不会相遇,第二圈一定会相遇。
那么如果不是操场那样的圈,而是笔直的公路,那就是快的人先到达终点,然后结束。
public class Solution {
public boolean hasCycle(ListNode head) {
if(head ==null || head.next ==null) return false;
ListNode fast = head;
ListNode slow = head;
while(fast != null && fast.next !=null && slow != null){
fast = fast.next.next;
slow = slow.next;
if(fast == slow) return true;
}
return false;
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。