LC142.环形链表II

java 复制代码
/**
     * 题目链接:https://leetcode.cn/problems/linked-list-cycle-ii/
     * 使用 map集合来存储链表的结点,在每次添加节点的时候使用map.containsValue()方法进行判断,
     * 如果存在相同的节点,就说明有环,然后返回当前节点
     * 举例:3 =》2 =》0 =》3 (这里0指向头节点 3)
     *     我们依次向map中存储节点:
     *     0: 3,
     *     1: 2,
     *     2: 0,
     *   再次添加3的时候,发现map中已经存在该节点,因此返回 3
     * @param head
     * @return
*/
    public static ListNode detectCycle(ListNode head) {
        Map<Integer, ListNode> map =  new HashMap<>();
        int i = 0 ;
        while(head != null){
            if(map.containsValue(head)){
                return head;
            }
            else{
                map.put(i, head);
                i ++ ;
                head = head.next;
            }
        }
        return null;
    }
相关推荐
小灵不想卷7 分钟前
LangChain4 初体验
java·langchain·langchain4j
忍者必须死9 分钟前
ConcurrentHashMap源码解析
java
顾北129 分钟前
SpringCloud 系列 04:Gateway 断言 / 过滤器 / 限流 一站式落地指南
java·开发语言·数据库
闻哥10 分钟前
23种设计模式深度解析:从原理到实战落地
java·jvm·spring boot·设计模式·面试
wuqingshun31415933 分钟前
java创建对象的方式
java·开发语言
求知摆渡34 分钟前
Spring AI 多模型对话 Demo 实战:OpenAI/Ollama 一套接口、Redis 会话记忆、SSE 流式输出、AOP 日志打点
java·spring
用户6000718191040 分钟前
【翻译】用生成器实现可续充队列
前端
米羊12140 分钟前
Struts 2 漏洞(下)
java·后端·struts
少云清42 分钟前
【UI自动化测试】4_web自动化测试 _元素定位(重点)
前端·web前端自动化
HEU_firejef1 小时前
实战篇(一)BitMap实现签到功能
java·redis