day61(1.20)——leetcode面试经典150

133. 克隆图

133.克隆图

题目:

题解:

java 复制代码
/*
// Definition for a Node.
class Node {
    public int val;
    public List<Node> neighbors;
    public Node() {
        val = 0;
        neighbors = new ArrayList<Node>();
    }
    public Node(int _val) {
        val = _val;
        neighbors = new ArrayList<Node>();
    }
    public Node(int _val, ArrayList<Node> _neighbors) {
        val = _val;
        neighbors = _neighbors;
    }
}
*/

class Solution {
    private HashMap<Node, Node> map = new HashMap<>();
    public Node cloneGraph(Node node) {
        if(node == null){
            return null;
        }

        if(map.containsKey(node)) {
            return map.get(node);
        }

        //创建新节点
        Node clone = new Node(node.val);
        //进行映射
        map.put(node, clone);

        //递归所有邻居
        for(Node neighbor : node.neighbors) {
            clone.neighbors.add(cloneGraph(neighbor));
        }
        
        //返回clone
        return clone;

    }
}
相关推荐
(Charon)17 分钟前
【C++面试】RAII到底是什么:从资源管理理解C++对象生命周期
c++·算法·面试
怕浪猫9 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
ychqsq13 小时前
207.炸酱面
经验分享·职场和发展
IT大白鼠15 小时前
搜索系列 · 第 08 篇——面试收官:高频题与全景总结
elasticsearch·面试·nosql
JAVA面经实录91717 小时前
线上故障标准处理流程【完整版|面试背诵+生产落地】
java·面试·职场和发展
yuanxi20017 小时前
青海共和百万千瓦光伏光热项目并网发电:大客户销售如何用价值力抓住能源大单
大数据·职场和发展·能源·创业创新·学习方法
浪浪山_大橙子19 小时前
公司里的 AI,终于不只会聊天:我用 GPT‑6 把企业工作伙伴开源了
前端·后端·面试
无限码力19 小时前
华为OD面试手撕真题 【合并相邻且相等的元素】多语言题解
华为od·面试·华为od面试真题·华为od面试手撕真题·华为od面试算法真题
乌暮20 小时前
JVM 原理与实践:从运行时数据区到线上故障排查
java·开发语言·jvm·后端·学习·面试
ychqsq21 小时前
206.归程
经验分享·职场和发展