133. Clone Graph
来源:互联网 发布:网络流行梗 编辑:程序博客网 时间:2024/06/05 14:38
Clone an undirected graph. Each node in the graph contains a label
and a list of its neighbors
.
OJ's undirected graph serialization:
Nodes are labeled uniquely.
We use#
as a separator for each node, and ,
as a separator for node label and each neighbor of the node.As an example, consider the serialized graph {0,1,2#1,2#2,2}
.
The graph has a total of three nodes, and therefore contains three parts as separated by #
.
- First node is labeled as
0
. Connect node0
to both nodes1
and2
. - Second node is labeled as
1
. Connect node1
to node2
. - Third node is labeled as
2
. Connect node2
to node2
(itself), thus forming a self-cycle.
Visually, the graph looks like the following:
1 / \ / \ 0 --- 2 / \ \_/
思路:借助map对复制过的元素做记录,以免重复复制。
/** * Definition for undirected graph. * struct UndirectedGraphNode { * int label; * vector<UndirectedGraphNode *> neighbors; * UndirectedGraphNode(int x) : label(x) {}; * }; */class Solution {public:UndirectedGraphNode *cloneGraph(UndirectedGraphNode *node) {if (node == NULL)return NULL;auto iter = copies.find(node);if (iter != copies.end()){return iter->second;}UndirectedGraphNode *copy = new UndirectedGraphNode(node->label); copies[node] = copy;for (auto neigh : node->neighbors){copy->neighbors.push_back(cloneGraph(neigh));}return copy;}private:map<UndirectedGraphNode*, UndirectedGraphNode*> copies;};
0 0
- LeetCode 133. Clone Graph
- [Leetcode] 133. Clone Graph
- [leetcode] 133.Clone Graph
- 133. Clone Graph
- Leetcode 133. Clone Graph
- 133. Clone Graph LeetCode
- 133. Clone Graph
- LeetCode 133. Clone Graph
- leetcode 133. Clone Graph
- 133. Clone Graph
- 133. Clone Graph
- LeetCode *** 133. Clone Graph
- leetcode-133. Clone Graph
- LeetCode 133. Clone Graph
- 133. Clone Graph
- 133. Clone Graph
- 133. Clone Graph
- 133. Clone Graph
- Java读取、创建xml(通过dom方式)
- 路由器的配置
- swift和oc的联系与区别
- Windows Codeblocks 搭建多线程编程环境
- Android中JNI的使用方法
- 133. Clone Graph
- L2-007. 家庭房产
- mycat读写分离
- JDK各个版本的新特性
- cocos2dx移植android平台-我的血泪史
- 三级下拉菜单 (通用版)
- Codeforces 16E Fish dp(概率)
- Android中Tab类型主界面大总结一共5种方式
- ios使用UIWebView加载使用说明或者协议等文本方法