由数组a(1到n)建立二叉树用c语言
时间: 2023-04-06 21:05:13 浏览: 90
c语言构建二叉树
我可以回答这个问题。建立二叉树的方法有很多种,其中一种常见的方法是使用递归。具体实现可以参考以下代码:
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
struct TreeNode* buildTree(int* a, int start, int end) {
if (start > end) {
return NULL;
}
int mid = (start + end) / 2;
struct TreeNode* root = (struct TreeNode*)malloc(sizeof(struct TreeNode));
root->val = a[mid];
root->left = buildTree(a, start, mid - 1);
root->right = buildTree(a, mid + 1, end);
return root;
}
int main() {
int a[] = {1, 2, 3, 4, 5, 6, 7};
int n = sizeof(a) / sizeof(int);
struct TreeNode* root = buildTree(a, 0, n - 1);
return 0;
}
阅读全文