递归解法:设方法int getMaxDepth(TreeNode root);定义为给一个root节点,返回改节点的树的最大高度
要求root节点最大高度只需要左子树最大高度与右子树最大高度两个的最大值加1即可
public int maxDepth(TreeNode root) {
return getMaxDepth(root);
}
private int getMaxDepth(TreeNode root) {
if(root==null) {
return 0;
}
int leftMaxDepth = getMaxDepth(root.left);
int rightMaxDepth = getMaxDepth(root.right);
return Math.max(leftMaxDepth, rightMaxDepth) + 1;
}