将有序数组转换为二叉搜索树

    技术2023-09-29  79

    题目

    代码

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* sortedArrayToBST(vector<int>& nums) { return BuildTree(nums, 0, nums.size() - 1); } TreeNode* BuildTree(vector<int>& nums, int left, int right) { if(left > right) { return nullptr; } int mid = (right + left) / 2; TreeNode* root = new TreeNode(nums[mid]); root -> left = BuildTree(nums, left, mid - 1); root -> right = BuildTree(nums, mid + 1, right); return root; } };
    Processed: 0.010, SQL: 9