链表有环判断:快慢指针相遇

判断链表中是否有环

http://www.nowcoder.com/questionTerminal/650474f313294468a4ded3ce0f7898b9

快指针每次两步,慢指针每次一步,有环则必相遇。

大佬的的图解。来源:https://leetcode-cn.com/problems/linked-list-cycle/solution/yi-wen-gao-ding-chang-jian-de-lian-biao-wen-ti-h-2/
图片说明

终止条件:null,单个节点,两个结点,都不可能有环!

    public boolean hasCycle(ListNode head) {
        if(head==null||head.next==null||head.next.next==null){
            return false;
        }
        ListNode fast=head;
        ListNode slow=head;
        while(fast!=null&&fast.next!=null){
            fast=fast.next.next;
            slow=slow.next;
            if(fast==slow){
                return true;
            }
        }
        return false;

    }

全部评论
两个节点不能构成环吗?
2 回复 分享
发布于 2021-01-26 18:32
fast:总有一天我会把你套圈
点赞 回复 分享
发布于 2021-08-08 00:30

相关推荐

牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
4 收藏 评论
分享
牛客网
牛客企业服务