CodeACM
HOT 100 · 二叉树 · LC 98

验证二叉搜索树:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。

有效 二叉搜索树定义如下:

· 节点的左子树只包含 严格小于 当前节点的数。

· 节点的右子树只包含 严格大于 当前节点的数。

· 所有左子树和右子树自身必须也是二叉搜索树。

输入格式

第一行输入层序序列记号数 n,第二行输入包含整数和 null 的层序序列。

输出格式

若是有效二叉搜索树输出 true,否则输出 false。

数据范围

  • 1 ≤ 节点数 ≤ 10⁴
  • −2³¹ ≤ 节点值 ≤ 2³¹ − 1

公开样例

样例 1

输入

3
2 1 3

输出

true

左右子树分别满足严格小于和严格大于根节点。

样例 2

输入

7
5 1 4 null null 3 6

输出

false

节点 3 位于根节点 5 的右子树却小于 5。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。