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;

    }
}
相关推荐
_Evan_Yao19 小时前
技术成长周记06|面试中看清差距,新项目点燃热情
面试·职场和发展
haina20191 天前
《品牌观察》专访海纳AI:引领AI面试测评新时代
人工智能·面试·职场和发展
kyriewen1 天前
你的首屏慢得像蜗牛?这6招让页面“秒开”
前端·面试·性能优化
Raink老师1 天前
【AI面试临阵磨枪】什么是 MCP(Model Control Protocol)、A2A(Agent-to-Agent)协议?
人工智能·面试·职场和发展·ai 面试
久菜盒子工作室1 天前
面试|产品经理|为什么从 xxx(主要是实习 、工作)离职?
面试·职场和发展·产品经理
Moe4881 天前
Spring AI:结构化输出
java·后端·面试
2601_954971131 天前
数据分析面试常问什么问题?新人最该提前准备的高频题目
面试·数据挖掘·数据分析
逻辑驱动的ken1 天前
Java高频面试考点场景题08
java·开发语言·面试·求职招聘·春招
JavaGuide1 天前
万字详解 RAG 向量索引算法和向量数据库
后端·面试