Java教程

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

本文主要是介绍快慢指针实现链表是否有环,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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;
        

    }


}

 

这篇关于快慢指针实现链表是否有环的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!