LeetCode-Clone Graph
2015-09-29 07:57
387 查看
不要被题的样子吓到 只是很简单的recursive 但是记得node要存在hashmap里面 已经建立过的node就不要再建一遍了
public class Solution {
private HashMap <Integer, UndirectedGraphNode> map = new HashMap<Integer, UndirectedGraphNode>();
public UndirectedGraphNode cloneGraph(UndirectedGraphNode node) {
if ( node == null )
return null;
int label = node.label;
if ( map.containsKey( label ) )
return map.get(label);
UndirectedGraphNode res = new UndirectedGraphNode( label );
map.put( label, res );
for ( UndirectedGraphNode nei : node.neighbors ){
UndirectedGraphNode neighbor = cloneGraph( nei );
res.neighbors.add( neighbor );
}
return res;
}
}
public class Solution {
private HashMap <Integer, UndirectedGraphNode> map = new HashMap<Integer, UndirectedGraphNode>();
public UndirectedGraphNode cloneGraph(UndirectedGraphNode node) {
if ( node == null )
return null;
int label = node.label;
if ( map.containsKey( label ) )
return map.get(label);
UndirectedGraphNode res = new UndirectedGraphNode( label );
map.put( label, res );
for ( UndirectedGraphNode nei : node.neighbors ){
UndirectedGraphNode neighbor = cloneGraph( nei );
res.neighbors.add( neighbor );
}
return res;
}
}
相关文章推荐
- 忘记拉窗帘
- extJS
- mac 安装免安装mysql
- Win10邮件和日历17.6224.42271更新下载:修复bug
- Java猜拳小游戏(剪刀、石头、布)
- Java MongoDB : Delete document
- 9月29日 Win10正式版全球安装量已达到1亿份
- C++里long的字节数
- 9-28 解题报告
- 从零自学Hadoop(04):Linux准备下
- Java MongoDB : Update document
- HDU 2819 Swap
- [CODEVS3323]时空跳跃者的封锁
- 字符和字符值的转换
- OSChina 周二乱弹 —— 最强大的黑客教程
- applet 本地文件
- Course Schedule 解答
- 第4周实践项目4 - 建设双链表算法库(选做)
- 关于Python中输出中文的一点疑问
- 纳维-斯托克斯方程