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;
    }
相关推荐
brave_zhao2 分钟前
javafx中能有异步调用业务方法吗
java
木易士心4 分钟前
从 MVP 到千万级并发:AI 在前后端开发中的差异化落地指南
前端·后端
葡萄城技术团队7 分钟前
字体与打印:前端开发最常见的三个“为什么”
前端
王夏奇9 分钟前
python中的深浅拷贝和上下文管理器
java·服务器·前端
siger14 分钟前
徒手开荒-我用纯Nodejs+pnpm+monorepo改造了一个多vue2的iframe"微前端"项目
前端·node.js·前端工程化
lichenyang45314 分钟前
海克斯大乱斗攻略网站 —— 从零开发到云服务器部署全记录
前端
你的代码僚机17 分钟前
《别再被 SSO 骗了!前端单点登录原理+避坑指南》
前端
皙然22 分钟前
深入理解 Java HashMap:从底层原理、源码设计到面试考点全解析
java·开发语言·面试
元Y亨H27 分钟前
RuoYi-Cloud-Vue 架构全解析:微服务+前后端分离
java·微服务
子超兄27 分钟前
ThreadLocal相关问题
java