写函数实现统计二叉树的深度。 在主函数中调用该函数实现对1中所建二叉树深度的计算。C++
时间: 2024-12-22 22:12:31 浏览: 16
为了编写一个C++函数来计算二叉树的深度,我们可以采用递归的方式。首先,我们需要定义一个节点结构体,然后创建一个函数`height`来计算深度。这里是一个简单的示例:
```cpp
#include <iostream>
// 定义二叉树节点结构体
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 函数用于计算二叉树的高度 (深度)
int height(TreeNode* root) {
if (root == nullptr) { // 如果根节点为空,高度为0
return 0;
}
// 递归地计算左子树和右子树的深度,取较大值加一作为当前节点的深度
int left_depth = height(root->left);
int right_depth = height(root->right);
return std::max(left_depth, right_depth) + 1; // 返回最大深度加上1(因为根也算一层)
}
int main() {
// 你需要在这里替换为你构建的实际二叉树实例
TreeNode* tree = ...;
// 调用函数计算二叉树深度
int depth = height(tree);
std::cout << "The height of the binary tree is: " << depth << std::endl;
// 清理内存并返回
delete tree; // 假设我们手动管理内存
return 0;
}
```
阅读全文