【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,这种有主动去重性质的类

相关推荐
%xiao Q几秒前
GESP C++四级-216
java·开发语言·c++
码农幻想梦14 分钟前
实验五 spring入门及IOC实验
java·后端·spring
程序员-King.16 分钟前
day151—双端队列—找树左下角的值(LeetCode-513)
算法·leetcode·二叉树·双端队列·队列
苦藤新鸡22 分钟前
15 .数组右移动k个单位
算法·leetcode·动态规划·力扣
骇客野人34 分钟前
maven生命周期构建和测试发布项目
java·maven
黎雁·泠崖1 小时前
Java面向对象:购物车系统完整版+全系列考点复盘
java·开发语言
氷泠1 小时前
路径总和系列(LeetCode 112 & 113 & 437 & 666)
leetcode·前缀和·深度优先·路径总和
一颗青果1 小时前
C++的锁 | RAII管理锁 | 死锁避免
java·开发语言·c++
橘颂TA1 小时前
【剑斩OFFER】算法的暴力美学——力扣 130 题:被围绕的区域
算法·leetcode·职场和发展·结构与算法
一分之二~1 小时前
回溯算法--解数独
开发语言·数据结构·c++·算法·leetcode