题目:
Given a sorted (increasing order) array, Convert it to create a binary tree with minimal height.
Example
Given [1,2,3,4,5,6,7]
, return
4
/ 2 6
/ \ / 1 3 5 7
题解:
Solution 1 ()
class Solution { public: TreeNode *sortedArrayToBST(vector<int> &A) { if (A.size() == 0) return nullptr; return buildTree(A, 0, A.size() - 1); } TreeNode* buildTree(vector<int>&A, int begin, int end) { if (begin > end) { return nullptr; } int mid = begin + (end - begin) / 2; TreeNode* root = new TreeNode(A[mid]); root->left = buildTree(A, begin, mid - 1); root->right = buildTree(A, mid + 1, end); return root; } };
时间: 2024-11-07 05:39:19