题解 | #二叉树的深度# | C++
二叉树的深度
https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b
/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
int Max(int a, int b){
return (a > b) ? a : b;
}
class Solution {
public:
int TreeDepth(TreeNode* pRoot) {
if(pRoot == nullptr)
return 0;
if (pRoot->left != nullptr && pRoot->right != nullptr){
return Max(1+TreeDepth(pRoot->left),\
1+TreeDepth(pRoot->right));
}else if (pRoot->left != nullptr) {
return 1+TreeDepth(pRoot->left);
}else if (pRoot->right != nullptr) {
return 1+TreeDepth(pRoot->right);
}else{
return 1; //终止条件
}
}
};

