leetcode刷题日志-98.验证二叉搜索树

思路:根据二叉搜索树的性质,中序遍历满足升序。那么我们就可以使用中序dfs,并且记录每个节点的前一个节点的值,如果前一个节点值比后一个大,返回false。

复制代码
class Solution {
    Integer pre = null; //记录前序节点
    boolean isValid = true;
    public boolean isValidBST(TreeNode root) {
        dfs(root);
        return isValid;
    }
    public void dfs(TreeNode root)
    {
        if(root == null)
        return;
        else{
            dfs(root.left);
            if(pre == null){
                pre = root.val;
            }
            else if(pre >= root.val){ //如果前序大于当前,置为false
                isValid = false;
            }
            else{
                pre = root.val;
            }
            dfs(root.right);
        }
    }
}

递归一看就会一写就废,同学们多练习,多思考,多理解即可

相关推荐
岁岁的O泡奶19 小时前
NSSCTF_crypto_[SWPU 2020]happy
经验分享·python·算法·密码学
EchoL、19 小时前
【论文阅读】SteganoGAN:High Capacity Image Steganography with GANs
论文阅读·人工智能·笔记·算法
CoovallyAIHub19 小时前
深度学习驱动的视频异常检测(VAD),AI如何让监控更智能?
深度学习·算法·计算机视觉
于樱花森上飞舞19 小时前
【多线程】常见的锁策略与锁
java·开发语言·算法·java-ee
HUST19 小时前
C 语言 第八讲:VS实用调试技巧
运维·c语言·开发语言·数据结构·算法·c#
历程里程碑19 小时前
LeetCode128:哈希集合巧解最长连续序列
开发语言·数据结构·c++·算法·leetcode·哈希算法·散列表
@淡 定19 小时前
Hash 索引与 B+树索引的区别与适用场景
b树·算法·哈希算法
Tzarevich19 小时前
算法效率的核心:时间复杂度与空间复杂度
javascript·算法
没有故事的Zhang同学19 小时前
03-📊 数据结构与算法核心知识 | 复杂度分析: 算法性能评估的理论与实践
算法
NAGNIP19 小时前
面试官:为什么需要量化,为什么 int4 _ int8 量化后大模型仍能保持性能?
算法