添加 0108.将有序数组转换为二叉搜索树.md C语言版本

This commit is contained in:
Arthur
2021-10-26 15:09:19 +01:00
parent 5793ebc1a5
commit c5a9eadab1

View File

@ -375,8 +375,25 @@ var sortedArrayToBST = function (nums) {
};
```
##C
递归
```c
struct TreeNode* traversal(int* nums, int left, int right) {
if (left > right)
return NULL;
int mid = left + ((right - left) / 2);
struct TreeNode* root = (struct TreeNode*)malloc(sizeof(struct TreeNode));
root->val = nums[mid];
root->left = traversal(nums, left, mid - 1);
root->right = traversal(nums, mid + 1, right);
return root;
}
struct TreeNode* sortedArrayToBST(int* nums, int numsSize) {
struct TreeNode* root = traversal(nums, 0, numsSize - 1);
return root;
}
```
-----------------------
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)