image.png

解题思路

使用递归算法来解决,注意递归的终止条件和递归的过程

  1. // maxDepth函数用于返回当前子树的最大深度
  2. public int maxDepth(TreeNode root) {
  3. //定义递归的终止条件
  4. if(root == null)
  5. return 0;
  6. //递归地去求左子树和右子树的高度
  7. int leftDepth = maxDepth(root.left);
  8. int rightDepth = maxDepth(root.right);
  9. //取左右子树最大值 然后加上本层的层数
  10. return Math.max(leftDepth,rightDepth) + 1;
  11. }