[leetcode]Convert Sorted Array to Binary Search Tre
2343 단어 Binary search
가운데는 루트, 루트 왼쪽은 left, 루트 오른쪽은 right
차례로 나무를 세우다.
/**
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
TreeNode* createTree(vector<int>&num , int start , int end){
if(end < start) return nullptr;
int mid = (start + end) / 2;
TreeNode* root = new TreeNode(num[mid]);
root -> left = createTree(num , start , mid - 1);
root -> right = createTree(num , mid + 1 , end);
return root;
}
TreeNode *sortedArrayToBST(vector<int> &num) {
int size = num.size();
if (size == 0) return nullptr;
return createTree(num , 0 , size - 1);
}
};