concise kotlin recursion
\nfun subtreeWithAllDeepest(root: TreeNode?): TreeNode? {\n  if (root == null) return root\n\n  val a = findMax(root.left)\n  val b = findMax(root.right)\n  if 
```\nfun subtreeWithAllDeepest(root: TreeNode?): TreeNode? {\n  if (root == null) return root\n\n  val a = findMax(root.left)\n  val b = findMax(root.right)\n  if (a == b) return root\n\n  return subtreeWithAllDeepest(if (a > b) root.left else root.right)\n}\n\nfun findMax(root: TreeNode?) : Int {\n  return if (root == null) return 0 else 1 + Math.max(findMax(root.left), findMax(root.right))\n}\n```
[]