[LeetCode108] Convert Sorted Array to Binary Search Tree
题目:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
分类:Tree Depth-first Search
代码:
1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */ 10 class Solution { 11 private: 12 13 public: 14 TreeNode* sortedArrayToBST(vector<int>& nums) { 15 return helper(nums, 0, nums.size() - 1); 16 } 17 18 TreeNode* helper(vector<int>& nums, int begin, int end) 19 { 20 if(begin > end) 21 return nullptr; 22 int mid = begin + (end - begin) / 2; 23 TreeNode* root = new TreeNode(nums[mid]); 24 root->left = helper(nums, begin, mid - 1); 25 root->right = helper(nums, mid + 1, end); 26 return root; 27 } 28 };
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号