Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit c5a9ead

Browse files
添加 0108.将有序数组转换为二叉搜索树.md C语言版本
1 parent 5793ebc commit c5a9ead

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

problems/0108.将有序数组转换为二叉搜索树.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,8 +375,25 @@ var sortedArrayToBST = function (nums) {
375375
};
376376
```
377377

378+
##C
379+
递归
380+
```c
381+
struct TreeNode* traversal(int* nums, int left, int right) {
382+
if (left > right)
383+
return NULL;
384+
int mid = left + ((right - left) / 2);
385+
struct TreeNode* root = (struct TreeNode*)malloc(sizeof(struct TreeNode));
386+
root->val = nums[mid];
387+
root->left = traversal(nums, left, mid - 1);
388+
root->right = traversal(nums, mid + 1, right);
389+
return root;
390+
}
378391

379-
392+
struct TreeNode* sortedArrayToBST(int* nums, int numsSize) {
393+
struct TreeNode* root = traversal(nums, 0, numsSize - 1);
394+
return root;
395+
}
396+
```
380397
381398
-----------------------
382399
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)

0 commit comments

Comments
 (0)