题解 | #判断链表中是否有环#

判断链表中是否有环

https://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9

import java.util.*;
/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public boolean hasCycle(ListNode head) {
        // 用来保存已经遍历过的节点
        Set<ListNode> set = new HashSet<>();
        while (head != null) {
            // 当一个节点被重复遍历时,说明链表存在环,返回成功
            if (set.contains(head)) {
                return true;
            }
            set.add(head);
            head = head.next;
        }
        // 链表遍历结束未发现环,返回失败
        return false;
    }
}

全部评论

相关推荐

04-18 15:58
已编辑
门头沟学院 设计
kaoyu:这一看就不是计算机的,怎么还有个排斥洗碗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务