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;
    }
相关推荐
IT古董1 分钟前
企业级官网全栈(React·Next.js·Tailwind·Axios·Headless UI·RHF·i18n)实战教程-前言
javascript·react.js·ui
LYFlied2 分钟前
前端性能优化常见面试问题汇总
前端·面试·性能优化
小万是个程序员2 分钟前
IDEA 配置热部署(使用idea自带功能,无需插件)
java·ide·intellij-idea
柒.梧.2 分钟前
Java核心面试题终极总结:从基础到进阶,覆盖高频考
java·开发语言·面试
计算机毕设指导63 分钟前
基于微信小程序的个性化服装搭配推荐系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
不爱学习的老登4 分钟前
基于CodeServer打造一个属于自己的 LaTeX Web 编辑器
前端·编辑器
星环处相逢4 分钟前
Docker资源限制全解析:CPU、内存、磁盘IO管控与实操指南
java·开发语言
苹果醋34 分钟前
24.记录Vue项目iview组件日期获取时间少一天
java·运维·spring boot·mysql·nginx
white-persist5 分钟前
【攻防世界】reverse | tt3441810 详细题解 WP
java·c语言·开发语言·数据结构·c++·算法·安全
@淡 定6 分钟前
MVCC(多版本并发控制)实现机制详解
java·服务器·数据库