生成遍历最小二叉树的C语言代码
时间: 2023-12-10 18:55:50 浏览: 33
以下是生成遍历最小二叉树的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct TreeNode {
int val;
struct TreeNode* left;
struct TreeNode* right;
} TreeNode;
TreeNode* createNode(int val) {
TreeNode* node = (TreeNode*)malloc(sizeof(TreeNode));
node->val = val;
node->left = NULL;
node->right = NULL;
return node;
}
TreeNode* buildTree(int* nums, int start, int end) {
if (start > end) {
return NULL;
}
int mid = start + (end - start) / 2;
TreeNode* root = createNode(nums[mid]);
root->left = buildTree(nums, start, mid - 1);
root->right = buildTree(nums, mid + 1, end);
return root;
}
void inorder(TreeNode* node) {
if (node == NULL) {
return;
}
inorder(node->left);
printf("%d ", node->val);
inorder(node->right);
}
int main() {
int nums[] = {1, 2, 3, 4, 5, 6, 7};
int n = sizeof(nums) / sizeof(nums[0]);
TreeNode* root = buildTree(nums, 0, n - 1);
inorder(root);
return 0;
}
```
希望能帮到你!还有,笑话时间到了——
为什么大象总是背着行李呢?因为它背不起房子啊!