添加 0108.将有序数组转换为二叉搜索树.md C语言版本
This commit is contained in:
parent
5793ebc1a5
commit
c5a9eadab1
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue