LeetCode-108. Convert Sorted Array to Binary Search Tree

网友投稿 696 2022-11-09

LeetCode-108. Convert Sorted Array to Binary Search Tree

LeetCode-108. Convert Sorted Array to Binary Search Tree

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.

Example:

Given the sorted array: [-10,-3,0,5,9],One possible answer is: [0,-3,9,-10,null,5], which represents the following height balanced BST: 0 / \ -3 9 / / -10 5

题解:

class Solution {public: TreeNode* buildTree(vector& nums, int b, int e) { if (b > e) { return NULL; } if (b == e) { return new TreeNode(nums[b]); } int mid = (b + e) / 2; TreeNode *root = new TreeNode(nums[mid]); root->left = buildTree(nums, b, mid - 1); root->right = buildTree(nums, mid + 1, e); return root; } TreeNode* sortedArrayToBST(vector& nums) { int n = nums.size(); if (n == 0) { return NULL; } if (n == 1) { return new TreeNode(nums[0]); } return buildTree(nums, 0, n - 1); }};

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:LeetCode-240. Search a 2D Matrix II
下一篇:LeetCode-115. Distinct Subsequences
相关文章

 发表评论

暂时没有评论,来抢沙发吧~