class Solution {
public:
TreeNode* f(vector<int>& nums, int left, int right){
// 停止條件
if(left > right) return nullptr;
int mid = left + (right-left)/2;
TreeNode* node = new TreeNode(nums[mid]);
node->left = f(nums, left, mid-1);
node->right = f(nums, mid+1, right);
return node;
}
TreeNode* sortedArrayToBST(vector<int>& nums) {
int n = nums.size();
return f(nums, 0, n-1);
}
};