C语言:
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int maxDepth(struct TreeNode* root){
if(root==0) return 0;
int heightLeft=1,heightRight=1;
if(root->left)
heightLeft+=maxDepth(root->left);
if(root->right)
heightRight+=maxDepth(root->right);
return heightLeft>heightRight?heightLeft:heightRight;
}
Java
class Solution {
public int maxDepth(TreeNode root) {
if (root == null) {
return 0;
} else {
int leftHeight = maxDepth(root.left);
int rightHeight = maxDepth(root.right);
return Math.max(leftHeight, rightHeight) + 1;
}
}
}