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;

    }
}
相关推荐
夏鹏今天学习了吗2 小时前
【LeetCode热题100(87/100)】最小路径和
算法·leetcode·职场和发展
鱼跃鹰飞5 小时前
Leetcode347:前K个高频元素
数据结构·算法·leetcode·面试
踢足球09296 小时前
寒假打卡:2026-01-20
职场和发展·学习方法
武清伯MVP7 小时前
聊聊最近的一些面试体验
面试·职场和发展
a努力。7 小时前
字节Java面试被问:TCP的BBR拥塞控制算法原理
java·开发语言·python·tcp/ip·elasticsearch·面试·职场和发展
C雨后彩虹8 小时前
羊、狼、农夫过河
java·数据结构·算法·华为·面试
重生之后端学习8 小时前
19. 删除链表的倒数第 N 个结点
java·数据结构·算法·leetcode·职场和发展
weixin_457297109 小时前
大数据面试常见问题
大数据·面试·职场和发展
a努力。10 小时前
虾皮Java面试被问:分布式Top K问题的解决方案
java·后端·云原生·面试·rpc·架构