Clone Graph

原题链接Clone Graph

复制一个无向图

遍历一遍图就可以了

代码如下

/*** Definition for undirected graph.* struct UndirectedGraphNode {*     int label;*     vector<UndirectedGraphNode *> neighbors;*     UndirectedGraphNode(int x) : label(x) {};* };*/
class Solution {
public:UndirectedGraphNode *cloneGraph(UndirectedGraphNode *node) {unordered_map<int, UndirectedGraphNode*> hash;return cloneGraph(node, hash);}
private:UndirectedGraphNode* cloneGraph(UndirectedGraphNode* node, unordered_map<int, UndirectedGraphNode*>& hash){if(!node)   return nullptr;/* hash记录着label对应的节点,如果已经复制过,就直接返回 */if(hash.find(node->label) != hash.end())return hash[node->label];auto res = new UndirectedGraphNode(node->label);hash[res->label] = res;for(auto ptr : node->neighbors)res->neighbors.emplace_back(cloneGraph(ptr, hash));return res;}
};

本题主要就是深度优先遍历无向图,需要注意的是重复问题

每天一道LeetCode-----复制无向图相关推荐

  1. leetcode17. 电话号码的字母组合--每天刷一道leetcode算法系列!

    作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...

  2. leetcode最小面积_每日一道 LeetCode (51):盛最多水的容器

    ❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...

  3. atoi函数_每日一道 LeetCode (50):字符串转换整数 (atoi)

    ❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...

  4. 去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...

    作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...

  5. 二叉树层次遍历c语言_每日一道 LeetCode (23):二叉树的层次遍历 II

    ❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...

  6. c++两个数组对比去掉重复的元素_每日一道 LeetCode (8):删除排序数组中的重复项和移除元素...

    ❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...

  7. 【python】一道LeetCode搞懂递归算法!#131分割回文串 #以及刷LeetCode的一点点小心得 [数据结构与算法基础]

    题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串.返回 s 所有可能的分割方案. # 示例 输入: "aab" 输出: [["aa",&q ...

  8. 每日一道 LeetCode (16):求 x 的平方根

    每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...

  9. 每日一道leetcode(python)1823. 找出游戏的获胜者

    每日一道leetcode(python)1823. 找出游戏的获胜者 2021-08-07 共有 n 名小伙伴一起做游戏.小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号.确切地说,从第 i 名 ...

  10. 每日一道leetcode(python)844. 比较含退格的字符串

    每日一道leetcode(python)844. 比较含退格的字符串 2021-09-05 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表 ...

最新文章

  1. OpenCV(十八)霍夫变换(直线、线段与圆检测)
  2. 大厂程序媛的特殊烦恼:男朋友工资只有自己的60%,天天阴阳怪气!
  3. MapReduce的序列化案例
  4. 复制linux内核,linux内核写时复制机制源代码解读
  5. Codechef Yet another cute girl
  6. maven添加jar包依赖
  7. linux 内核 3.3.8,Linux内核编译 Ubuntu 14.04.3 server 升级至3.19.8
  8. Leetcode116. 填充每个节点的下一个右侧节点指针(宽搜或深搜)
  9. 实心和空心哪个抗弯能力强_为什么轮胎不设计成实心的?不怕爆胎 480阅读
  10. c语言课后题答案83,C语言练习试题和答案
  11. matlab中.m文件访问simulink
  12. C语言文件指针,如何对文件进行操作,文件指针FILE,指向文件指针
  13. mib文件在服务器的什么位置,MIB文件简单分析
  14. axis2 异常OMElement
  15. 二进制转八进制公式计算机,2进制转8进制(二进制转8进制公式)
  16. English Summary~July
  17. 使用`rfkill`控制WIFI开关与`wpa_supplicant`的影响
  18. Mac下添加Chrome插件
  19. R语言package安装显示(as ‘lib’ is unspecified)并出现未知路径
  20. Apache Dubbo 之 内核剖析

热门文章

  1. Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交。第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4)
  2. Java黑皮书课后题第1章:1.1(显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science和Programming is fun
  3. freebsd 手工安装zabbix2.0 php,zabbix 服务端,子客户端安装配置日志
  4. 搜狐2012.9.15校园招聘会笔试题
  5. 程序员面试100题之九:求子数组的最大和
  6. ajax获取后台数据出错parsererror
  7. iOS ----------怎么修改xcode默认打开方式
  8. node.js学习笔记14—微型社交网站
  9. [数分提高]2014-2015-2第7教学周第2次课 (2015-04-16)
  10. 启动万维网发布服务(W3SVC)