GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • LeetCodeJavascript.com
  • Star on GitHub

This view

  • Original page
  • New address

GeezerVison is showing leetcodejavascript.com — #1490 - Clone N-ary Tree - LeetCode JavaScript Solutions

Back to all solutions

#1490 - Clone N-ary Tree

Medium • View on LeetCode • View on GitHub
Hash Table Depth-First Search Tree Breadth-First Search

Problem Description

Given a root of an N-ary tree, return a deep copy (clone) of the tree.

Each node in the n-ary tree contains a val (int) and a list (List[Node]) of its children.

class Node { public int val; public List<Node> children; } Nary-Tree input serialization is represented in their level order traversal, each group of children is separated by the null value (See examples).

Solution

/**
 * // Definition for a _Node.
 * function _Node(val, children) {
 *    this.val = val === undefined ? 0 : val;
 *    this.children = children === undefined ? [] : children;
 * };
 */

/**
 * @param {_Node|null} node
 * @return {_Node|null}
 */
var cloneTree = function(root) {
  if (!root) return null;

  const clonedNode = new _Node(root.val);
  clonedNode.children = root.children.map(child => cloneTree(child));

  return clonedNode;
};
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.