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;
    }
相关推荐
CHANG_THE_WORLD几秒前
PDFIUM如何处理宽度数组
java·linux·服务器
幼儿园技术家12 分钟前
嵌套 H5 的跨端通信:iOS / Android / 小程序 / 浏览器
前端·js or ts
冰暮流星20 分钟前
javascript之dom访问属性
开发语言·javascript·dubbo
一只小阿乐23 分钟前
TypeScript中的React开发
前端·javascript·typescript·react
chools24 分钟前
Java后端拥抱AI开发之个人学习路线 - - Spring AI【第四期】(Tool + MCP)
java·人工智能·学习·spring
亦暖筑序26 分钟前
多轮对话的记忆心脏:ChatMemory 滑动窗口原理
java·人工智能
AAAAA924026 分钟前
物联网BOM成本管理:精准化、智能化与可持续化
java·物联网·struts
用户97141718142727 分钟前
vite项目开发环境启动白屏
前端
Highcharts.js27 分钟前
Highcharts客户端导出使用文档说明|图表导出模块讲解
前端·javascript·pdf·highcharts·图表导出
上山打牛31 分钟前
cornerstone3D 通过二进制渲染影像
前端