关于leetcode108号问题
来源:7-7 二分搜索树中的问题 Lowest Common Ancestor of a Binary Search Tree
manbaneverout
2020-02-13
老师您好,您关于108号问题的代码中,对于测试用例[-10,-3,0,5,9],0的左子树中,mid取的是-10的下标0,而实际上应该取-3的下标1,但是为什么能获得AC?
class Solution {
public:
TreeNode* sortedArrayToBST(vector<int>& nums) {
if(nums.size() == 0)
return NULL;
return buildTree(nums, 0, nums.size() - 1);
}
private:
TreeNode* buildTree(const vector<int>& nums, int l, int r){
if(l > r) return NULL;
if(l == r) return new TreeNode(nums[l]);
int mid = (l + r) / 2;
TreeNode* root = new TreeNode(nums[mid]);
root->left = buildTree(nums, l, mid - 1);
root->right = buildTree(nums, mid + 1, r);
return root;
}
};
写回答
1回答
-
这个问题的解不唯一。
对于这个测试用例,你给的截图中。
我的程序输出的是这样一颗二叉树:
0 / \ -10 5 \ \ -3 9
预期结果是这样一颗二叉树:
0 / \ -3 9 / / -10 5
他们都是正确答案。
继续加油!:)
012020-02-14
相似问题
leetcode 22 号 括号生成问题
回答 2
关于80号问题
回答 1