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;
    }
相关推荐
汤姆yu几秒前
基于springboot的植物花卉销售管理系统
java·spring boot·后端
不想写bug呀12 分钟前
RabbitMQ相关问题(1)
java·rabbitmq
海南java第二人13 分钟前
Spring Boot Starters深度解析:简化依赖管理的核心利器
java·spring boot·后端
captain37617 分钟前
Java-链表
java·开发语言·链表
tqs_1234518 分钟前
跳出多层循环的方式
java·开发语言
东方轧线25 分钟前
突破锁竞争的性能枷锁:深度剖析 C++ 内存模型与无锁编程在超大规模并行 AI 系统中的极致应用实践
java·c++·人工智能
想起你的日子27 分钟前
EFCore之Code First
前端·.netcore
框架图37 分钟前
Html语法
前端·html
深耕AI1 小时前
【wordpress系列教程】07 网站迁移与备份
运维·服务器·前端·数据库
风清云淡_A1 小时前
【JPA】spring集成jpa实战之数据增删改查入门教程(二)
java