Convert Sorted Array to Binary Search Tree

来源:互联网 发布:大数据相关课程 编辑:程序博客网 时间:2024/06/05 21:08

递归......注意看一下这里面指针,用new。new返回的是指向创建的对象的指针。

/** * 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) {        int n=nums.size();        if(n==0)        return NULL;        if(n==1)        return new TreeNode(nums[0]);                int mid=(0+n)/2;        TreeNode * root=new TreeNode(nums[mid]);        vector<int> lt(nums.begin(),nums.begin()+mid);        vector<int> rt(nums.begin()+mid+1,nums.end());        root->left=sortedArrayToBST(lt);        root->right=sortedArrayToBST(rt);        return root;    }};

0 0