leetcode 环形链表

leetcode 环形链表

 

 

最老的双指针经典问题了,通过快慢指针即可判断是否存在环。

public class Solution {
   boolean hasCycle(ListNode head) {
    // 快慢指针初始化指向 head
    ListNode slow = head, fast = head;
    // 快指针走到末尾时停止
    while (fast != null && fast.next != null) {
        // 慢指针走一步,快指针走两步
        slow = slow.next;
        fast = fast.next.next;
        // 快慢指针相遇,说明含有环
        if (slow == fast) {
            return true;
        }
    }
    // 不包含环
    return false;
}

leetcode 环形链表

 

上一篇:买卖股票的最佳时机 II


下一篇:leetcode刷题_PYTHON(15):链表(15) 重排链表