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;
    }
相关推荐
阿杰真不会敲代码几秒前
webSocket入门
java·网络·spring boot·websocket·网络协议
木风小助理5 分钟前
Kotlin内联函数及其关联关键字的深度解析
android·java·开发语言
刘一说9 分钟前
Java语言多态特性在Spring Boot中的体现:从原理到实战
java·开发语言·spring boot
RFCEO11 分钟前
网页三剑客HTML、CSS、JavaScript 三者的关系详解
javascript·css·html·网页编程
FreeBuf_13 分钟前
恶意Chrome扩展窃取钱包登录凭证并实施自动化交易
前端·chrome·自动化
Mr_sun.13 分钟前
Day02——基础数据开发-服务管理前端
前端·状态模式
郑州光合科技余经理14 分钟前
同城O2O系统架构解析:中台化如何赋能本地生活服务
java·开发语言·javascript·人工智能·系统架构·php·生活
qq_124987075315 分钟前
基于微信小程序的垃圾分类信息系统(源码+论文+部署+安装)
java·前端·spring boot·后端·微信小程序·小程序·计算机毕业设计
琹箐16 分钟前
AntDesign AFormItem中表单元素嵌套及校验
前端·javascript·vue.js
带刺的坐椅16 分钟前
带来 Multi Agent 开发,OpenSolon v3.8.3 发布
java·ai·agent·solon·mcp