• Day 41


    第133题:

    给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。

    图中的每个节点都包含它的值 valint) 和其邻居的列表(list[Node])。来源:力扣(LeetCode)

    1、题意就是copy一个和原图相同的无向图,然后返回;

      那么就直接从给出的节点出发,广度优先遍历;

      使用哈希表来存储原始节点和被克隆的节点,哈希表中的 key 是原始图中的节点,value 是克隆图中的对应节点;

      将题目给定的节点添加到队列。克隆该节点并存储到哈希表中;

      每次从队列中取出一个节点,遍历这个节点的所有邻居节点;

      如果它被遍历过,那它肯定存在哈希表中,那么就更新这个邻居节点到对应的value中;

      如果没被遍历过,就将它存入哈希表的原始节点处,并创建一个新的节点放入克隆节点处;

      然后将克隆的邻居节点更新到克隆节点处即可。

      

    第141题:

    给定一个链表,判断链表中是否有环。

    为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该

    链表中没有环。来源:力扣(LeetCode)

    1、直接使用两个指针,一个指针移动的快,一个指针移动的慢,如果快的指针后移时指向null了,就说明不存在环,返回false;

      而如果存在环,那快慢指针在环内一直移动,它们一定会存在相遇的时刻,这时候就说明链表内存在环了,返回true。

      

    2、利用set集合的特点(里面的元素不重复),每次遍历链表节点时,将其地址传入,然后遍历下一个节点;

      每次都判断set集合内是否存在这个节点的地址值,存在则说明存在环,不存在就说明不存在环;

      返回结果。

      

  • 相关阅读:
    字符串初始化、查找字符+获取字符
    冒泡排序
    JAVA中值类型和引用类型的不同?
    二维数组初始化,属性,遍历,输出各元素总和。
    数组定义属性遍历循环,输出最大数
    for穷举,叠代练习
    HTML--Boby部分之<a>标签
    HTML--Boby内标签之多行文本及下拉框
    HTML--Boby部分Input之重置
    HTML--Boby部分Input之上传文件
  • 原文地址:https://www.cnblogs.com/liang-yi-/p/13493859.html
Copyright © 2020-2023  润新知