Q1-boilerplate
🧩 Syntax:
import java.util.*;
class TreeNode {
int val;
TreeNode left, right;
TreeNode(int val) { this.val = val; }
}
public class MaxDepthLeaves {
// Complete this function
public static int countMaxDepthLeaves(TreeNode root) {
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] tokens = sc.nextLine().split(" ");
List<Integer> nodes = new ArrayList<>();
for (String s : tokens) nodes.add(Integer.parseInt(s));
TreeNode root = buildTree(nodes);
System.out.println(countMaxDepthLeaves(root));
}
public static TreeNode buildTree(List<Integer> arr) {
if (arr.isEmpty() || arr.get(0) == -1) return null;
TreeNode root = new TreeNode(arr.get(0));
Queue<TreeNode> q = new LinkedList<>();
q.add(root);
int i = 1;
while (!q.isEmpty() && i < arr.size()) {
TreeNode node = q.poll();
if (i < arr.size() && arr.get(i) != -1) {
node.left = new TreeNode(arr.get(i));
q.add(node.left);
}
i++;
if (i < arr.size() && arr.get(i) != -1) {
node.right = new TreeNode(arr.get(i));
q.add(node.right);
}
i++;
}
return root;
}
}