LeetCode刷题系列 -- 133. 克隆图
admin
2024-02-21 01:57:52
0

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

图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。

class Node {
    public int val;
    public List neighbors;
}
 

测试用例格式:

简单起见,每个节点的值都和它的索引相同。例如,第一个节点值为 1(val = 1),第二个节点值为 2(val = 2),以此类推。该图在测试用例中使用邻接列表表示。

邻接列表 是用于表示有限图的无序列表的集合。每个列表都描述了图中节点的邻居集。

给定节点将始终是图中的第一个节点(值为 1)。你必须将 给定节点的拷贝 作为对克隆图的引用返回。

示例 1:

输入:adjList = [[2,4],[1,3],[2,4],[1,3]]
输出:[[2,4],[1,3],[2,4],[1,3]]
解释:
图中有 4 个节点。
节点 1 的值是 1,它有两个邻居:节点 2 和 4 。
节点 2 的值是 2,它有两个邻居:节点 1 和 3 。
节点 3 的值是 3,它有两个邻居:节点 2 和 4 。
节点 4 的值是 4,它有两个邻居:节点 1 和 3 。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/clone-graph
 

思路:

      利用递归的方法,每次给当前的节点 A 深拷贝一个节点,再递归的给节点 A 的邻居节点深拷贝。

      为了防止重复的拷贝,这里每次深拷贝一次,就记录在一个 map里面,map  的 key 是节点的值,value为节点

c++

/*
// Definition for a Node.
class Node {
public:int val;vector neighbors;Node() {val = 0;neighbors = vector();}Node(int _val) {val = _val;neighbors = vector();}Node(int _val, vector _neighbors) {val = _val;neighbors = _neighbors;}
};
*/class Solution {
public:// 定义 map ,为了防止重复的拷贝,这里每次深拷贝一次,就记录在一个 map里面,map  的 key 是节点的值,value为节点map  visited;Node* cloneGraph(Node* node) {if(node==nullptr) {return nullptr;}// 若是已经深拷贝过该节点,则直接获取节点if(visited.find(node->val) != visited.end()) {return visited[node->val];}// 深拷贝一个节点Node* currNode = new Node(node->val);visited[currNode->val] = currNode;for(auto other:node->neighbors){currNode->neighbors.push_back(cloneGraph(other));}return currNode;}};

相关内容

热门资讯

华夏银行跌1.71% 领跌银行... 中国经济网北京1月30日讯 华夏银行(600015.SH)今日股价收报6.34元,跌幅1.71%。今...
帮主郑重:1月A股深V收官!2... 1月最后一天A股又玩深V,你是抄底抄在半山腰,还是吓得割在最低点?帮主郑重做财经20年,见过无数次市...
黄金跌破5000美元关口,白银... 30日下午,现货黄金、白银再次加速下跌。 截至发稿,现货黄金跌超7%,跌破5000美元/盎司,日内重...
Meta首席财务官:仍在打造头... IT之家 1 月 30 日消息,在 Meta 本周举行的 2025 年第四季度财报电话会议中,有德意...
新股消息 | 新济医药、翼菲科... 智通财经APP获悉,1月30日,中国证监会发布《境内企业境外发行证券和上市备案情况表(首次公开发行及...
国投白银LOF30日停牌 溢价... 来源:滚动播报 (来源:千龙网) 为保护投资者利益,国投白银LOF发布公告,将于今天(30日)开市起...
NexBridge清桥国际清洁... 上证报中国证券网讯(记者 闫婧)1月29日,由国际化的清洁能源生态领军机构New Energy Ne...
金价高位震荡 大量市民涌入银行... 最近一段时间,黄金价格屡创新高。今天(1月30日),国际金价又迎来“过山车”式震荡。尽管金价“上蹿下...
人民币兑美元实现连续第十个单周... 观点网讯:1月30日,在岸人民币兑美元本周以来累计上涨约0.2%,即将实现连续第十个单周上涨,这将是...
藏格矿业大宗交易折价成交42.... 藏格矿业01月30日大宗交易平台共发生1笔成交,合计成交量42.00万股,成交金额3570.42万元...
美股异动丨游戏驿站盘前涨超1%... 游戏驿站(GME.US)盘前涨1.05%,报23.05美元。消息面上,游戏驿站CEO表示,他希望将这...
「黑红出圈」5个月后,Maca... 文 | 镜相工作室,作者丨马舒叶,编辑丨卢枕 进入2026年,大厂似乎正主导新一轮的AI叙事。无论...
承压前行 稳中有进——2025... 近日,航拍镜头下的宁德门下锂电智能制造配套产业园。郑霄 摄 1月29日,2025年宁德经济运行数据“...
央行进行 4,775 亿元 7... 来源:滚动播报 央行进行 4,775 亿元 7 天期逆回购操作 操作利率 1.4%。
电费刺客退散!全球首台“超碳一... 起猛了?二氧化碳居然不是“温室背锅侠”,而是发电界的“新晋牛马”? 夏天开空调怕遇到“电费刺客”,工...
天天喊房价完了的人,醒醒!暴跌... 最近有消息称,监管部门不再要求房企每月上报“三条红线”指标,这也意味着2020年以来卡在开发商脖子上...
践行金融初心│宁波银行绍兴分行... 2025年,宁波银行绍兴分行紧紧围绕国家金融“五篇大文章”战略部署,始终牢记金融服务实体经济的初心使...
本周A股市场涨跌榜:沪指站稳4... 本周(1月26日至1月30日),A股三大指数全部收跌。截至周五收盘,上证指数累计下跌0.44%,深证...
太仆寺旗市场监督管理局计量和标... 新春佳节将至,为规范节日市场计量秩序,切实保障消费者合法权益,营造公平诚信的消费环境,太仆寺旗市场监...
西部提速、广东放缓,经济学者解... 来源:滚动播报 (来源:财闻) “过去我们谈区域经济,总是盯着‘北上广’,但现在看数据,格局明显多极...