题解 | #二叉树的深度# | 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; //终止条件 } } };