/**

  • struct TreeNode {
  • int val;
  • struct TreeNode *left;
  • struct TreeNode *right;
  • }; */

class Solution { public: /** * * @param num int整型vector * @return TreeNode类 / TreeNode sortedArrayToBST(vector& nums) { // write code here if(nums.empty()) return nullptr;

    int n = nums.size();
    
    TreeNode* my_res = new TreeNode(nums[n / 2]);
    
    int l = n / 2 - 1;
    int r = n / 2 + 1;
    auto t = my_res;
    while(l >= 0)
    {
        my_res = my_res -> left = new TreeNode(nums[l -- ]);
    }
    my_res -> left = nullptr;
    my_res = t;
    while(r < n)
    {
        my_res = my_res -> right = new TreeNode(nums[r ++ ]);
    }
    my_res -> right = nullptr;
    return t;
}

};