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;
    }
相关推荐
天天扭码5 分钟前
总所周知,JavaScript中有很多函数定义方式,如何“因地制宜”?(ˉ﹃ˉ)
前端·javascript·面试
一个专注写代码的程序媛10 分钟前
为什么vue的key值,不用index?
前端·javascript·vue.js
장숙혜21 分钟前
ElementUi的Dropdown下拉菜单的详细介绍及使用
前端·javascript·vue.js
.生产的驴22 分钟前
SpringBoot 封装统一API返回格式对象 标准化开发 请求封装 统一格式处理
java·数据库·spring boot·后端·spring·eclipse·maven
火柴盒zhang23 分钟前
websheet之 编辑器
开发语言·前端·javascript·编辑器·spreadsheet·websheet
某公司摸鱼前端26 分钟前
uniapp 仿企微左边公司切换页
前端·uni-app·企业微信
WKK_29 分钟前
uniapp自定义封装tabbar
前端·javascript·小程序·uni-app
莫问alicia30 分钟前
react 常用钩子 hooks 总结
前端·javascript·react.js
猿周LV30 分钟前
JMeter 安装及使用 [软件测试工具]
java·测试工具·jmeter·单元测试·压力测试
晨集32 分钟前
Uni-App 多端电子合同开源项目介绍
java·spring boot·uni-app·电子合同