```java import java.util.Scanner; class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int val) { this.val = val; this.left = null; this.right = null; } } public class BinaryTreeDepth { public static int maxDepth(TreeNode root) { if (root == null) { return 0; } int leftDepth = maxDepth(root.left); int rightDepth = maxDepth(root.right); return Math.max(leftDepth, rightDepth) + 1; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); String[] values = input.split(" "); TreeNode root = buildTree(values, 0); int depth = maxDepth(root); System.out.println(depth); } public static TreeNode buildTree(String[] values, int index) { if (index >= values.length || values[index].equals("null")) { return null; } TreeNode root = new TreeNode(Integer.parseInt(values[index])); root.left = buildTree(values, 2 * index + 1); root.right = buildTree(values, 2 * index + 2); return root; } } ``` [2024-11-17 15:23:13 | AI写代码神器 | 309点数解答]