帶環鏈表

描述

給定一個鏈表,判斷它是否有環。

樣例

給出 -21->10->4->5, tail connects to node index 1,返回 true

相關題目

帶環鏈表2 & 兩個鏈表的交叉

代碼實現

/**
 * Definition for ListNode.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int val) {
 *         this.val = val;
 *         this.next = null;
 *     }
 * }
 */ 
public class Solution {
    /**
     * @param head: The first node of linked list.
     * @return: True if it has a cycle, or false
     */
     //快 慢 指 針
     //快指針以慢指針二倍的速度移動,如果快慢指針指向同一地址,則返回true
    public boolean hasCycle(ListNode head) {  
        if (head == null || head.next == null) {
            return false;
        }
        ListNode fast = head.next;
        ListNode slow = head;
        while (fast != slow) {
            if (fast == null || fast.next == null) {
                return false;
            } else {
                fast = fast.next.next;
                slow = slow.next;
            }
        }
        return true;
    }
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 描述 給定一個鏈表,判斷它是否有環。 樣例 給出 -21->10->4->5, tail connects to ...
    6默默Welsh閱讀 355評論 0 0
  • 描述 給定一個鏈表,如果鏈表中存在環,則返回到鏈表中環的起始節點,如果沒有環,返回null。 樣例 給出 -21-...
    6默默Welsh閱讀 236評論 0 0
  • 描述 給定一個鏈表,如果鏈表中存在環,則返回到鏈表中環的起始節點的值,如果沒有環,返回 null。 樣例 代碼實現
    lyoungzzz閱讀 154評論 0 0
  • 給定一個鏈表,判斷它是否有環。 思路:快指針每次走兩步慢指針每次走一步走到最后如果兩指針相遇表示有環,若快指針走到...
    杰米閱讀 356評論 0 0
  • 給定一個鏈表,如果鏈表中存在環,則返回到鏈表中環的起始節點的值,如果沒有環,返回null。 思路詳解 leetco...
    杰米閱讀 529評論 0 0