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;
    }
相关推荐
吴声子夜歌3 分钟前
Java——Integer与二进制算法
java·算法
风味蘑菇干8 分钟前
继承 + static + final 综合应用
java·开发语言
Rkgua13 分钟前
路径传参和查询传参和请求体传参区以及Vue和React的用法区分
前端·面试
JarvanMo14 分钟前
Flutter + Supabase 集成 Apple Sign-In 完整指南
前端
li星野19 分钟前
二分查找六题通关:从标准模板到旋转数组(Python + C++)
java·c++·python
无所事事O_o30 分钟前
IntelliJ IDEA 无法识别 Maven SNAPSHOT 依赖,但 Maven 编译正常
java
小村儿35 分钟前
连载
前端·后端·ai编程
yaoxin52112342 分钟前
403. Java 文件操作基础 - 写入二进制文件
java·开发语言·python
未若君雅裁43 分钟前
Redis Key 过期后会立刻删除吗?过期删除与内存淘汰策略详解
java·redis
dinl_vin1 小时前
LangChain 系列·(九):Agent——让 AI 自己做决策
前端·人工智能·langchain