Problem
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
Code
TreeNode *sortedArrayToBST_r(vector<int> &num,int l,int r) { if(l > r) return 0; int m = (l + r )/2; TreeNode *root = new TreeNode(num[m - 1]); root->left = sortedArrayToBST_r(num,l,m - 1); root->right = sortedArrayToBST_r(num,m + 1,r); return root; } TreeNode *sortedArrayToBST(vector<int> &num) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. int n = num.size(); return sortedArrayToBST_r(num,1,n); }
No comments:
Post a Comment