Python•convert-sorted-array-to-binary-search-tree/solution.py
class Solution:
def sortedArrayToBST(self, nums: List[int]) -> Optional[TreeNode]:
total_nums = len(nums)
if not total_nums:
return None
mid_node = total_nums class=class="syntax-string">"syntax-comment">// class="syntax-number">2
return TreeNode(
nums[mid_node],
self.sortedArrayToBST(nums[:mid_node]), self.sortedArrayToBST(nums[mid_node + class="syntax-number">1 :])
)
Python•convert-sorted-array-to-binary-search-tree/synced-solution.py
class Solution:
def sortedArrayToBST(self, nums: List[int]) -> Optional[TreeNode]:
def buildBST(left, right):
if left > right:
return None
mid = (left + right) class=class="syntax-string">"syntax-comment">// class="syntax-number">2
root = TreeNode(nums[mid])
root.left = buildBST(left, mid - class="syntax-number">1)
root.right = buildBST(mid + class="syntax-number">1, right)
return root
return buildBST(class="syntax-number">0, len(nums) - class="syntax-number">1)
C++•convert-sorted-array-to-binary-search-tree/synced-solution.cpp
class Solution {
public:
TreeNode* sortedArrayToBST(vector<int>& nums) {
return buildBST(nums, class="syntax-number">0, nums.size() - class="syntax-number">1);
}
private:
TreeNode* buildBST(vector<int>& nums, int left, int right) {
if (left > right) return nullptr;
int mid = left + (right - left) / class="syntax-number">2;
TreeNode* root = new TreeNode(nums[mid]);
root->left = buildBST(nums, left, mid - class="syntax-number">1);
root->right = buildBST(nums, mid + class="syntax-number">1, right);
return root;
}
};
TypeScript•convert-sorted-array-to-binary-search-tree/synced-solution.ts
function sortedArrayToBST(nums: number[]): TreeNode | null {
function buildBST(left: number, right: number): TreeNode | null {
if (left > right) return null;
const mid = Math.floor((left + right) / class="syntax-number">2);
const root = new TreeNode(nums[mid]);
root.left = buildBST(left, mid - class="syntax-number">1);
root.right = buildBST(mid + class="syntax-number">1, right);
return root;
}
return buildBST(class="syntax-number">0, nums.length - class="syntax-number">1);
}