Untitled

 avatar
unknown
plain_text
2 months ago
897 B
1
Indexable
public class Solution {
    public TreeNode createTree(int[] parent) {
        int n = parent.length;
        if (n == 0) return null;

        // Create nodes
        TreeNode[] nodes = new TreeNode[n];
        for (int i = 0; i < n; i++) {
            nodes[i] = new TreeNode(i);
        }

        TreeNode root = null;

        // Establish parent-child relationships
        for (int i = 0; i < n; i++) {
            if (parent[i] == -1) {
                root = nodes[i]; // Identify the root
            } else {
                TreeNode parentNode = nodes[parent[i]];
                if (parentNode.left == null) {
                    parentNode.left = nodes[i]; // Assign as left child
                } else {
                    parentNode.right = nodes[i]; // Assign as right child
                }
            }
        }

        return root;
    }

  
Editor is loading...
Leave a Comment