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;
    }
相关推荐
java小吕布8 分钟前
Java Lambda表达式详解:函数式编程的简洁之道
java·开发语言
我是苏苏14 分钟前
C# Main函数中调用异步方法
前端·javascript·c#
程序员劝退师_15 分钟前
优惠券秒杀的背后原理
java·数据库
转角羊儿26 分钟前
uni-app文章列表制作⑧
前端·javascript·uni-app
java小吕布30 分钟前
Java集合框架之Collection集合遍历
java
一二小选手32 分钟前
【Java Web】分页查询
java·开发语言
大G哥32 分钟前
python 数据类型----可变数据类型
linux·服务器·开发语言·前端·python
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ44 分钟前
idea 弹窗 delete remote branch origin/develop-deploy
java·elasticsearch·intellij-idea
Code成立1 小时前
《Java核心技术 卷I》用户图形界面鼠标事件
java·开发语言·计算机外设
hong_zc1 小时前
初始 html
前端·html