A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))用c++输出二叉树高度
时间: 2023-10-09 11:16:45 浏览: 55
以下是C++代码实现:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
struct Node {
Node* left;
Node* right;
};
int getHeight(Node* root) {
if (root == nullptr) {
return 0;
} else {
int leftHeight = getHeight(root->left);
int rightHeight = getHeight(root->right);
return 1 + max(leftHeight, rightHeight);
}
}
int main() {
// 构造二叉树
Node A, B, C, D, E, F, G, H, I, J, K, L, M, N;
A.left = &B;
A.right = &C;
B.left = &D;
B.right = &E;
D.left = &H;
H.left = &J;
H.right = &K;
K.left = &L;
K.right = &M;
E.right = &N;
C.left = &F;
C.right = &G;
G.left = &I;
// 计算二叉树高度
int height = getHeight(&A);
cout << "二叉树高度为:" << height << endl;
return 0;
}
```
输出结果为:
```
二叉树高度为:7
```