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;
    }
相关推荐
芥子沫26 分钟前
VSCode添加Python、Java注释技巧、模板
开发语言·前端·javascript
cos1 小时前
FE Bits 前端周周谈 Vol.2|V8 提速 JSON.stringify 2x,Vite 周下载首超 Webpack
前端·javascript·css
yuezhilangniao1 小时前
关于开发语言的一些效率 从堆栈角度理解一部分c java go python
java·c语言·开发语言
码luffyliu1 小时前
Java NIO 核心原理与秋招高频面试题解析
java·nio
一只叫煤球的猫1 小时前
⚠️ 不是危言耸听,SpringBoot正在毁掉Java工程师
java·spring boot·spring
Ares-Wang1 小时前
Node.js 》》bcryptjs 加密
开发语言·javascript·node.js
vvilkim2 小时前
深入理解Java访问修饰符:封装的艺术
java·开发语言
wfsm2 小时前
pdf预览Vue-PDF-Embed
前端
wangbing11252 小时前
界面规范的其他框架实现-列表-layui实现
前端·javascript·layui
最爱吃南瓜2 小时前
JS逆向实战案例之----【通姆】252个webpack模块自吐
开发语言·javascript·爬虫·webpack·js逆向·算法模拟