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

全部评论

相关推荐

07-29 14:57
门头沟学院 Java
复盘中的钝角很想踢足...:别说ppt了,我简历去面试都不带的
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务