Untitled
unknown
plain_text
a year ago
1.1 kB
7
Indexable
class Solution {
public TreeNode createBinaryTree(int[][] descriptions) {
Map<Integer, TreeNode> mp = new HashMap<>();
Set<Integer> childSet = new HashSet<>();
// Create nodes and set up parent-child relationships
for (int[] description : descriptions) {
int parent = description[0];
int child = description[1];
boolean isLeft = description[2] == 1;
mp.putIfAbsent(parent, new TreeNode(parent));
mp.putIfAbsent(child, new TreeNode(child));
if (isLeft) {
mp.get(parent).left = mp.get(child);
} else {
mp.get(parent).right = mp.get(child);
}
childSet.add(child);
}
// Find the root node (which is not any child)
for (int[] description : descriptions) {
int parent = description[0];
if (!childSet.contains(parent)) {
return mp.get(parent);
}
}
return null;
}
Editor is loading...
Leave a Comment