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;
    }
相关推荐
gCode Teacher 格码致知2 分钟前
Javascript提高:小数精度和随机数-由Deepseek产生
开发语言·javascript·ecmascript
杨凯凡12 分钟前
【012】图与最短路径:了解即可
java·数据结构
比特森林探险记22 分钟前
【无标题】
java·前端
椰猫子36 分钟前
Javaweb(Filter、Listener、AJAX、JSON)
java·开发语言
IT_陈寒1 小时前
SpringBoot自动配置把我都整不会了
前端·人工智能·后端
朝新_1 小时前
【Spring AI 】核心知识体系梳理:从入门到实战
java·人工智能·spring
一 乐1 小时前
旅游|基于springboot + vue旅游信息推荐系统(源码+数据库+文档)
java·vue.js·spring boot·论文·旅游·毕设·旅游信息推荐系统
我命由我123452 小时前
Android 开发中,关于 Gradle 的 distributionUrl 的一些问题
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
橙露2 小时前
SpringBoot 全局异常处理:优雅封装统一返回格式
java·spring boot·后端
最逗前端小白鼠2 小时前
vue3 数据响应式遇到的问题
前端·vue.js