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;
    }
}