牛客网刷题-判断链表中是否有环

问题描述

判断给定的链表中是否有环。如果有环则返回true,否则返回false。

输入描述:
输入一个链表

输出描述:
输出链表是否包含环

示例

示例1

输入
1->2->3

输出
false

解决思路

分析

  1. 通过快慢指针的方式,一个指针一次过一个节点,另一个指针一次过两个节点,当快节点追上来满节点,则说明包含环状结构。

方法

  1. 通过快慢指针的方式判断(龟兔赛跑:图片采用了力扣的图片)
    在这里插入图片描述

代码实现

// 思路1
public class Solution {
    
    
    if (head == null || head.next == null) {
    
    
        return false;
    }

    ListNode slow = head;
    ListNode fast = head.next;

    while (fast != null && fast.next != null) {
    
    
        if (fast == slow) {
    
    
            return true;
        }

        slow = slow.next;
        fast = fast.next.next;
    }

    return false;
}

小伙伴如果想测试的话,可以直接到牛客网这个链接做测试

判断链表中是否有环-牛客网

猜你喜欢

转载自blog.csdn.net/qq_35398517/article/details/113125231