leetcode98: 验证二叉搜索树

65 阅读1分钟

leetcode98: 验证二叉搜索树

前中后序遍历均可解决该问题

前序遍历思路:

根 -> 左 -> 右
定义一个区间,根节点是作为左子树的最大值,作为右子树的最小值,层层向下传递;

中序遍历思路

左 -> 根 -> 右
二叉搜索树的中序遍历结果是一个递增的数组。 定义一个变量记录前一个节点(即左子树的值),并与当前值比较大小,并更新变量

后序遍历思路

左 右 根
记录左右子树的最大值和最小值,并与根节点的值做比较,判断根节点的值是否大于左子树的最大值,且小于右子树的最小值。若不成立,则返回false