c++编写一个程序,实现二叉树高度的求取。利用二叉树的性质及二叉树前序遍历的思想,计算二叉树的高度。
时间: 2023-11-14 22:22:45 浏览: 83
下面是 C++ 代码实现二叉树高度的求取:
```c++
#include<iostream>
using namespace std;
//二叉树结点的定义
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
//求二叉树的高度
int treeHeight(TreeNode* root) {
if (root == NULL) {
return 0;
}
int leftHeight = treeHeight(root->left);
int rightHeight = treeHeight(root->right);
return max(leftHeight, rightHeight) + 1;
}
int main() {
//建立一棵二叉树
TreeNode *root = new TreeNode(1);
root->left = new TreeNode(2);
root->right = new TreeNode(3);
root->left->left = new TreeNode(4);
root->left->right = new TreeNode(5);
//计算二叉树的高度
cout << "Tree height: " << treeHeight(root) << endl;
return 0;
}
```
该程序通过递归实现了求取二叉树高度的功能。在递归的过程中,程序先分别计算左子树和右子树的高度,然后取它们之中的最大值,再加1即可得到整棵二叉树的高度。
阅读全文