98. 验证二叉搜索树

原题链接:98. 验证二叉搜索树

思路:

要知道中序遍历下,输出的二叉搜索树节点的数值是有序序列。

有了这个特性,验证二叉搜索树,就相当于变成了判断一个序列是不是递增的了。

可以递归中序遍历将二叉搜索树转变成一个数组

然后只要比较一下,这个数组是否是有序的,注意二叉搜索树中不能有重复元素

全代码:

cpp 复制代码
bool isValidBST(TreeNode* root) {
        vec.clear(); // 不加这句在leetcode上也可以过,但最好加上
        traversal(root);
        for (int i = 1; i < vec.size(); i++) {
            // 注意要小于等于,搜索树里不能有相同元素
            if (vec[i] <= vec[i - 1]) return false;
        }
        return true;
    }
相关推荐
yzx9910131 小时前
支持向量机的回归用法详解
算法·支持向量机·回归
小羊在奋斗2 小时前
【LeetCode 热题 100】反转链表 / 回文链表 / 有序链表转换二叉搜索树 / LRU 缓存
算法·leetcode·链表
爱上彩虹c2 小时前
LeetCode Hot100 (1/100)
算法·leetcode·职场和发展
小陈的进阶之路2 小时前
计算机大类专业数据结构下半期实验练习题
数据结构·算法·深度优先
瑞雪兆丰年兮2 小时前
数学实验(Matlab符号运算)
开发语言·算法·matlab·数学实验
不会计算机的捞地2 小时前
【数据结构入门训练DAY-30】数的划分
数据结构·算法·深度优先
The_cute_cat3 小时前
试除法判断素数优化【C语言】
算法
Darkwanderor3 小时前
一般枚举题目合集
c++·算法
@我漫长的孤独流浪4 小时前
最短路与拓扑(2)
数据结构·c++·算法
<但凡.5 小时前
C++修炼:多态
开发语言·c++·算法