Convert Sorted Array to Binary Search Tree
Given an array where elements is sorted in ascending order, convert it to a height balanced BST.
The idea is to refer to the convert Sorted List to Binary Search Tree, since vectors can be accessed with subscripts, so there is no need to set the speed node to directly access the middle point.
/** Definition for binary tree * struct TreeNode {* int val; * TreeNode *left; * TreeNode *right; * T Reenode (int x): Val (x), left (null), right (NULL) {} *}; */classSolution { Public: TreeNode*sortedarraytobst (vector<int> &num) { if(Num.empty ())returnNULL; Else returnHelper (NUM,0, Num.size ()-1); } TreeNode*helper (vector<int> &num,intBeginintend) { if(Begin >end)returnNULL; Else { intMid = (begin+end)/2; intMidv =Num[mid]; TreeNode* Root =NewTreeNode (MIDV); Root->left = Helper (num, begin, mid-1); Root->right = Helper (num, mid+1, end); returnRoot; } }};
"Leetcode" Convert Sorted Array to Binary Search Tree