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;
    }
相关推荐
NE_STOP2 分钟前
Redis--Redis分布式系统的原理与实操
java
村上小树2 分钟前
非常简单地学习一下shareDB的原理
前端·javascript
认真的薛薛3 分钟前
阿里云: A记录 & CNAME
服务器·前端·阿里云
Forget_85505 分钟前
RHEL——Kubernetes容器编排平台(二)
java·开发语言
2301_815645388 分钟前
css基础
前端·css
Hilaku15 分钟前
求求你们🙏 ,别再换打包工具了?
前端·javascript·程序员
用户新16 分钟前
V8引擎 精品漫游指南--Ignition篇(下 二) JavaScript 栈帧详解
前端·javascript
账号已注销free17 分钟前
box-shadow完整用法
前端
得闲喝茶24 分钟前
JavaScript在数据处理的应用
开发语言·前端·javascript·经验分享·笔记
庞轩px27 分钟前
第五篇:Spring事务管理——@Transactional的底层实现与失效场景
java·spring·事务管理·spring事务·注解transactional