【d54_2】【Java】【力扣】142.环形链表

思路

关于判断是否重复的就hashSet,这种有主动去重性质的类

新建一个hashSet

遍历链表并放进hashSet,

如果不能放,说明这个遍历过,这个就是环的地方

如果最后到遍历到null,说明没环

代码

复制代码
/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode detectCycle(ListNode head) {
         //都加入hashset,listNode是地址引用,节点一定唯一
            //如果有不能添加的,返回当前节点
            HashSet<Object> set = new HashSet<>();
            ListNode cur = head;
            while (cur != null) {
                //如果能添加,continue
                if(!set.add(cur)){
                 return cur;   
                }
                 cur = cur.next;
            }
            //等于null,退出,所以没有环,返回null
            return null;
    }
}

记录

总结

关于判断是否重复的就hashSet,这种有主动去重性质的类

相关推荐
廋到被风吹走1 分钟前
【Spring】Spring Context 详细介绍
java·后端·spring
Kiyra16 分钟前
LinkedHashMap 源码阅读
java·开发语言·网络·人工智能·安全·阿里云·云计算
sheji341616 分钟前
【开题答辩全过程】以 山林湖泊生态文明建设管控系统为例,包含答辩的问题和答案
java·spring boot
幽络源小助理26 分钟前
SpringBoot兼职发布平台源码 | JavaWeb项目免费下载 – 幽络源
java·spring boot·后端
2501_9167665433 分钟前
【Java】HashMap集合实现类
java·开发语言
不会聊天真君64738 分钟前
设计模式、线程状态、上下文切换、线程安全(JAVA并发第二期)
java
Swift社区40 分钟前
死锁:线程卡死不是偶然,而是设计问题
java·spring·maven
uup41 分钟前
防止短信验证码接口被盗刷问题
java
xxxmine1 小时前
ConcurrentHashMap 和 Hashtable 的区别详解
java·开发语言
凛_Lin~~1 小时前
安卓 面试八股文整理(原理与性能篇)
android·java·面试·安卓