← 返回题库
初级

判断是不是二叉搜索树

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve(tree):
    nodes = list(map(int, tree.split(',')))
    def is_bst(arr, start, end, min_val, max_val):
        if start > end:
            return True
        val = arr[start]
        if val <= min_val or val >= max_val:
            return False
        i = start + 1
        while i <= end and arr[i] < val:
            i += 1
        return is_bst(arr, start + 1, i - 1, min_val, val) and is_bst(arr, i, end, val, max_val)
    print('true' if is_bst(nodes, 0, len(nodes) - 1, float('-inf'), float('inf')) else 'false')

示例

输入
solve('2,1,3')
期望输出
true
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码