/************************************************************************/
/* 34: Maximum Depth of Binary Tree */
/************************************************************************/
/*
* Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
* */
//求根节点到叶子节点的最短路径 递归
// 左边或者右边没有叶子节点时,需要特殊处理
public int maxDepth(TreeNode root) { if (root == null) { return 0; } if (root.left==null &&root.right==null ) { return 1; } int a=maxDepth(root.left); int b=maxDepth(root.right); if(a>0&&b>0) { return Math.max(a, b)+1; } return a+b+1; }