c_cpp 克隆图dfs
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 克隆图dfs相关的知识,希望对你有一定的参考价值。
struct GNode {
int label;
vector<GNode*> neibs;
GNode(int x) : label(x) {}
};
typedef unordered_map<const GNode*, GNode*> MAP;
GNode* clone_by_dfs(const GNode *g, MAP &hash) {
if(hash.find(g) != hash.end()) return hash[g];
GNode *newg = new GNode(g->label);
hash[g] = newg;
for(auto nei : g->neibs)
newg->neibs.push_back(clone_by_dfs(nei, hash));
return newg;
}
GNode *clone_graph(const GNode *g) {
if(g == nullptr) return nullptr;
MAP hash;
clone_by_dfs(g, hash);
return hash[g];
}
GNode* cloneGrph(const GNode *node) {
// use unordered_map
// use queue
}
以上是关于c_cpp 克隆图dfs的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode No.133 克隆图(DFS)
Leetcode No.133 克隆图(DFS)
Leetcode——克隆图
c_cpp DFS
c_cpp 迭代DFS
c_cpp DFS