[LeetCode] Convert Sorted Array to Binary Search Tree

来源:互联网 发布:mysql查询性能分析器 编辑:程序博客网 时间:2024/06/05 20:21

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    TreeNode *generate(vector<int> &num,int left,int right){        if(left > right) return NULL;        int mid = (left + right) / 2;        TreeNode *tleft = generate(num,left,mid - 1);        TreeNode *tright = generate(num,mid + 1,right);        TreeNode *root = new TreeNode(num[mid]);        root -> left = tleft;        root -> right = tright;        return root;    }     TreeNode *sortedArrayToBST(vector<int> &num) {        int len = num.size();        return generate(num,0,len - 1);    }};


0 0
原创粉丝点击