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;
    }
相关推荐
LCG元13 小时前
STM32实战:基于STM32F103的Bootloader设计与IAP在线升级
javascript·stm32·嵌入式硬件
OtIo TALL13 小时前
redis7 for windows的安装教程
java
uNke DEPH14 小时前
Spring Boot的项目结构
java·spring boot·后端
xixingzhe214 小时前
idea启动vue项目
java·vue.js·intellij-idea
超级无敌暴龙兽14 小时前
和我一起刷面试题呀
前端·面试
wzl2026121314 小时前
企业微信定时群发技术实现与实操指南(原生接口+工具落地)
java·运维·前端·企业微信
小码哥_常14 小时前
Robots.txt:互联网爬虫世界的“隐形规则”
前端
凌波粒14 小时前
Java 8 “新”特性详解:Lambda、函数式接口、Stream、Optional 与方法引用
java·开发语言·idea
曹牧15 小时前
Eclipse:悬停提示(Hover)
java·ide·eclipse
小码哥_常15 小时前
Android开发神器:AndroidAutoSize,轻松搞定屏幕适配
前端