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;
    }
相关推荐
带刺的坐椅14 小时前
Spring AI 2.0 GA 倒计时:先别急,来看看 Java AI 框架的另一条路
java·spring·ai·llm·agent·solon
不瘦80斤不改名14 小时前
JavaScript 基础语法完全指南
开发语言·javascript·ecmascript
peepeeman15 小时前
vue组件透传
前端·javascript·vue.js
TE-茶叶蛋15 小时前
Java 8 引入的Stream API-stream()
java·windows·python
Stream_Silver15 小时前
【 libusb4java实战:跨平台USB设备通信完全指南】
java·笔记·嵌入式硬件·microsoft
极光代码工作室15 小时前
基于SpringBoot的宿舍管理系统
java·springboot·web开发·后端开发
镜宇秋霖丶15 小时前
2026.5.12@霖宇博客制作中遇见的问题
前端·vue.js·elementui
Ting-yu15 小时前
SpringCloud快速入门(8)---- OpenFeign(远程调用)
java·spring·spring cloud
两年半的个人练习生^_^15 小时前
什么是内存泄漏?什么是内存溢出?
java·开发语言
曦夜日长15 小时前
C++ STL容器string(二):删除与插入、数据查找、自定义输入
java·开发语言·c++