C语言编写,求给定二叉树的高度
时间: 2024-12-25 10:27:36 浏览: 4
在C语言中,计算给定二叉树的高度通常采用递归的方式。二叉树的高度定义为从根节点到最远叶子节点的最长路径上的边数。下面是一个简单的递归函数示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树节点结构体
typedef struct TreeNode {
int val;
struct TreeNode* left;
struct TreeNode* right;
} TreeNode;
// 计算二叉树高度的辅助函数
int heightHelper(TreeNode* root) {
// 如果根节点为空,则返回0
if (root == NULL)
return 0;
// 否则,左子树和右子树的高度加上1即为当前的高度
int leftHeight = heightHelper(root->left);
int rightHeight = heightHelper(root->right);
// 返回两个子树高度的最大值加1作为当前树的高度
return (leftHeight > rightHeight ? leftHeight + 1 : rightHeight + 1);
}
// 主函数,输入二叉树并打印其高度
void getHeight(TreeNode* root) {
int treeHeight = heightHelper(root);
printf("The height of the binary tree is: %d\n", treeHeight);
}
int main() {
// 初始化您的二叉树实例...
// 调用getHeight函数传入根节点
return 0;
}
```
阅读全文