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

判断链表中是否有环

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

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务