快慢指针实现链表是否有环

import java.util.List;

/**
 * The type 判断链表是否有环 快慢指针.
 */
public class 判断链表是否有环_快慢指针 {
    /**
     * The type List node.
     */
    public static class ListNode{
        /**
         * The Data.
         */
        public int data;
        /**
         * The Next.
         */
        public ListNode next;
    }

    /**
     * 快慢指针实现,快指针向后移动两位,慢指针向后移动一位,如果有环,那么就会相等,如果没环,就返回true
     * @param head 输入头指针作为初始条件
     * @return
     */
    private static Boolean fast_low(ListNode head){
        ListNode fast = new ListNode();
        ListNode low = new ListNode();
        fast = head;
        low = head;
        if (fast != null && low.next != null){
            fast = fast.next.next;
            low = low.next;
            if (fast == low){
                return false;
            }
        }
        return true;
        

    }


}

 

posted @ 2022-05-23 21:51  七色angel  阅读(20)  评论(0编辑  收藏  举报