/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
class Solution {
public:
/**
*
* @param num int整型vector
* @return TreeNode类
*/
TreeNode* dfs(vector<int>& num, int left, int right) {
if (left > right) {
return nullptr;
}
int mid = (left + right + 1) / 2;
TreeNode *root = new TreeNode(num[mid]);
root->left = dfs(num, left, mid - 1);
root->right = dfs(num, mid + 1, right);
return root;
}
TreeNode* sortedArrayToBST(vector<int>& num) {
int len = num.size();
if (len == 0) {
return nullptr;
}
return dfs(num, 0, len - 1);
// write code here
}
};