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;
    }
相关推荐
卓怡学长32 分钟前
m111基于MVC的舞蹈网站的设计与实现
java·前端·数据库·spring boot·spring·mvc
存在的五月雨37 分钟前
Redis的一些使用
java·数据库·redis
C_心欲无痕5 小时前
前端实现水印的两种方式:SVG 与 Canvas
前端·安全·水印
Elias不吃糖8 小时前
Java Lambda 表达式
java·开发语言·学习
尾善爱看海8 小时前
不常用的浏览器 API —— Web Speech
前端
情缘晓梦.8 小时前
C语言指针进阶
java·开发语言·算法
美酒没故事°9 小时前
vue3拖拽+粘贴的综合上传器
前端·javascript·typescript
南知意-10 小时前
IDEA 2025.3 版本安装指南(完整图文教程)
java·intellij-idea·开发工具·idea安装
jingling55510 小时前
css进阶 | 实现罐子中的水流搅拌效果
前端·css
码农水水10 小时前
蚂蚁Java面试被问:混沌工程在分布式系统中的应用
java·linux·开发语言·面试·职场和发展·php