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;
    }
相关推荐
iAkuya1 分钟前
(leetcode) 力扣100 15轮转数组(环状替代)
数据结构·算法·leetcode
杰克尼4 分钟前
蓝桥云课-5. 花灯调整【算法赛】
java·开发语言·算法
.小墨迹4 分钟前
C++学习之std::move 的用法与优缺点分析
linux·开发语言·c++·学习·算法·ubuntu
努力学算法的蒟蒻11 分钟前
day38(12.19)——leetcode面试经典150
算法·leetcode·面试
搬砖魁首20 分钟前
ZK-ALU-在有限域上实现乘法和除法
算法·zk·alu·域运算·算术逻辑单元·模乘·蒙哥马利模约简
iAkuya28 分钟前
(leetcode)力扣100 17缺失的第一个正数(哈希)
算法·leetcode·哈希算法
断剑zou天涯36 分钟前
【算法笔记】树状数组IndexTree
java·笔记·算法
sonadorje37 分钟前
ECC公钥生成过程
算法·安全
声声codeGrandMaster40 分钟前
线性回归实战下与深度学习概念
深度学习·算法·线性回归
sin_hielo1 小时前
leetcode 2092(排序+bfs)
算法·leetcode·宽度优先