public static void Main()
TreeNode root = new TreeNode(3);
root.left = new TreeNode(9);
root.right = new TreeNode(20);
root.right.left = new TreeNode(15);
root.right.right = new TreeNode(7);
var result = MaxDepth(root);
Console.WriteLine(result);
public static int MaxDepth(TreeNode root)
if (root == null) {return 0;}
return 1 + Math.Max(MaxDepth(root.left), MaxDepth(root.right));
public TreeNode(int val = 0, TreeNode left = null, TreeNode right = null)