题解ACM模式 二叉树的深度

二叉树的深度

https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b

#include<iostream>

using namespace std;

struct TreeNode {
	int val;
	TreeNode* left;
	TreeNode* right;
	TreeNode(int x) :val(x), left(nullptr), right(nullptr) { }
};

TreeNode* insertTree(TreeNode* root, int val) {
	if (!root) return new TreeNode(val); // 如果树为空,创建新的节点
	if (val < root->val)
		root->left = insertTree(root->left, val); // 插入到左子树
	else
		root->right = insertTree(root->right, val); // 插入到右子树
	return root;
}

int depthTree(TreeNode* root) {
	if (!root) return 0;
	return max(depthTree(root->left), depthTree(root->right)) + 1;
}

int main() {
	TreeNode* root = nullptr;
	int val;
	while (cin >> val) {
		root = insertTree(root, val);
		if (cin.get() == '\n') break;
	}
	cout << depthTree(root) << endl;
	return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 18:13
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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