• LeetCode_Java_环形链表(题目+思路+代码)


    141.环形链表

    给你一个链表的头节点 head ,判断链表中是否有环。

    如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。

    如果链表中存在环 ,则返回 true 。 否则,返回 false

    示例 1:

    输入:head = [3,2,0,-4], pos = 1
    输出:true
    解释:链表中有一个环,其尾部连接到第二个节点。
    

    思路:

            题目将给出一个链表,判断链表中是否有环。

            链表中有某个节点,可以通过连续跟踪 next 指针再次到达(即某个数出现两次),则链表中存在环

            1.先创加一个Set链表,里面存储的数不可重复

            2.若该数不在set集合中,则添加;若在set集合中,则添加失败,且表明存在环,返回true

            循环结束后,还未出现第二次出现的数,则返回false

    1. */
    2. public class Solution {
    3. public boolean hasCycle(ListNode head) {
    4. Set set = new HashSet<>();
    5. while(head != null){
    6. if(!set.add(head))
    7. return true;
    8. //判断以上的节点后,将head后移至下一位
    9. head = head.next;
    10. }
    11. return false;
    12. }
    13. }

  • 相关阅读:
    知识点8--Docker镜像的秘密
    Loss模块
    国产 87235系列USB平均功率探头
    day-3-2-3
    8Manage PM:通过项目管理信息系统做好进度管控
    Git冲突解决指南:如何优雅地解决代码合并冲突
    ES6~ES13新特性(一)
    机械制造基础——加工方法
    Qt——设置布局中特定的两个组件之间的间距
    c语言map的详细用法
  • 原文地址:https://blog.csdn.net/weixin_53415203/article/details/136289076