当前位置: 首页 > news >正文

力扣133. 克隆图

深度优先遍历

  • 思路:
    • 使用一个哈希表存储已经被克隆过的节点,key 为原节点,value 为克隆的节点;
    • 从原节点开始遍历,如果已经被克隆过,则回到其克隆节点;
    • 否则,克隆该节点,并存入哈希表中;
    • 然后,根据其邻居节点依次递归遍历;
/*
// Definition for a Node.
class Node {
public:int val;vector<Node*> neighbors;Node() {val = 0;neighbors = vector<Node*>();}Node(int _val) {val = _val;neighbors = vector<Node*>();}Node(int _val, vector<Node*> _neighbors) {val = _val;neighbors = _neighbors;}
};
*/class Solution {
public:Node* cloneGraph(Node* node) {if (node == nullptr) {return node;}if (visited.find(node) != visited.end()) {return visited[node];}Node* cloneNode = new Node(node->val);visited[node] = cloneNode;for (auto& neighbor: node->neighbors) {cloneNode->neighbors.emplace_back(cloneGraph(neighbor));}return cloneNode;}private:std::unordered_map<Node*, Node*> visited;
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • UntiyShader(七)Debug
  • MyBatis-mapper.xml配置
  • 系列十二、Linux中安装Zookeeper
  • Windows搭建RTSP视频流服务(EasyDarWin服务器版)
  • 几个实用网站
  • 【Shell编程练习】猜大小
  • docker应用部署(部署MySql,部署Tomcat,部署Nginx,部署Redis)
  • 【AIGC风格prompt】风格类绘画风格的提示词技巧
  • 第三百四十回
  • Python爬虫---selenium基本使用
  • 2024年第一天,玩飞越丛林
  • GO语言基础笔记(九):工程实践
  • 32阵元 MVDR和DREC DOA估计波束方向图对比
  • Apache DolphinScheduler 3.1.9 版本发布:提升系统的稳定性和性能
  • 超图iClient3DforCesium地形、影像、模型、在线影像交互示例
  • 2017-08-04 前端日报
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • HashMap剖析之内部结构
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Javascript编码规范
  • javascript数组去重/查找/插入/删除
  • Java精华积累:初学者都应该搞懂的问题
  • Java应用性能调优
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 记录一下第一次使用npm
  • 检测对象或数组
  • 聊聊redis的数据结构的应用
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​queue --- 一个同步的队列类​
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #《AI中文版》V3 第 1 章 概述
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (10)ATF MMU转换表
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (windows2012共享文件夹和防火墙设置
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (四)JPA - JQPL 实现增删改查
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)可以带来幸福的一本书
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET gRPC 和RESTful简单对比
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET 的程序集加载上下文
  • .NET 中创建支持集合初始化器的类型
  • .net操作Excel出错解决
  • :中兴通讯为何成功
  • @property括号内属性讲解