Convert Sorted Array to Binary Search Tree, sortedbinary
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
Basic Ideas:
Because the queue has been sorted, each time the vertex is taken as the root of the tree.
You can build a balanced binary tree.
/*** 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 ();} TreeNode * buildTree (vector <int> & nums, int start, int stop) {if (start> = stop) return 0; int mid = start + (stop-start)/2; TreeNode * root = new TreeNode (nums [mid]); root-> left = buildTree (nums, start, mid ); root-> right = buildTree (nums, mid + 1, stop); return root ;}};