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_陈寒12 分钟前
为什么我的JavaScript闭包总是漏掉那个变量?
前端·人工智能·后端
两只羊ovo32 分钟前
前端八股之 storage & this:两个最容易卡住的点,一次讲透
前端
用户9210802628644 分钟前
Bubble 打字机效果实践:从项目配置到源码实现
前端
张元清1 小时前
React useEventListener Hook:类型安全的 DOM 事件监听 (2026)
javascript·react.js
敲个大西瓜1 小时前
Spring Could Alibaba 核心面试题
java·后端·spring
weixin_461408581 小时前
npm npx yarn
开发语言·前端·javascript
四千岁1 小时前
RAG系统中的分块
前端·javascript·后端
骇客野人1 小时前
Java SSO 统一认证方案
java·开发语言
START_GAME2 小时前
MSSQL$SQL2016
java·服务器·前端