LeetCode 1490: Clone N-ary Tree Solution
Master LeetCode problem 1490 (Clone N-ary Tree), a medium challenge, with our optimized solutions in Java, C++, and Python. Explore detailed explanations, test your code in our interactive editor, and prepare for coding interviews.
1490. Clone N-ary Tree
Problem Explanation
Explanation:
To clone an N-ary tree, we need to create a deep copy of each node in the tree along with all its children. We can solve this problem using a recursive approach where we traverse the original tree and create a new node for each visited node while recursively cloning its children.
- Create a helper function
cloneNodeto clone a single node by creating a new node with the same value and an empty list of children. - Traverse the original tree using a recursive function
cloneTreethat clones each node and its children. - Return the cloned tree root node.
: :
Solution Code
class Node {
public int val;
public List<Node> children;
public Node() {}
public Node(int val) {
this.val = val;
}
public Node(int val, List<Node> children) {
this.val = val;
this.children = children;
}
}
class Solution {
public Node cloneNode(Node node) {
if (node == null) return null;
Node clone = new Node(node.val, new ArrayList<>());
for (Node child : node.children) {
clone.children.add(cloneNode(child));
}
return clone;
}
public Node cloneTree(Node root) {
if (root == null) return null;
return cloneNode(root);
}
}Try It Yourself
Loading code editor...
Related LeetCode Problems
Frequently Asked Questions
How to solve LeetCode 1490 (Clone N-ary Tree)?
This page provides optimized solutions for LeetCode problem 1490 (Clone N-ary Tree) in Java, C++, and Python, along with a detailed explanation and an interactive code editor to test your code.
What is the time complexity of LeetCode 1490 (Clone N-ary Tree)?
The time complexity for LeetCode 1490 (Clone N-ary Tree) varies by solution. Check the detailed explanation section for specific complexities in Java, C++, and Python implementations.
Can I run code for LeetCode 1490 on DevExCode?
Yes, DevExCode provides an interactive code editor where you can write, test, and run your code for LeetCode 1490 in Java, C++, or Python.