克隆 N 叉树

1490. 克隆 N 叉树

目录

1. 分解问题的思路

定义:输入 N 叉树节点,返回以该节点为根的 N 叉树的深拷贝

// 定义:输入 N 叉树节点,返回以该节点为根的 N 叉树的深拷贝
var cloneTree = function (root) {
    if (!root) return null;
    let newRoot = new Node(root.val);
    newRoot.children = [];
    root.children.forEach((node) => {
        newRoot.children.push(cloneTree(node));
    });
    return newRoot;
};

2. 遍历的思路

  • 遍历两边
    • 第一次遍历用哈希表把原节点和克隆节点映射起来
    • 第二次遍历把克隆节点组装起来