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);
        }
    }
}

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

相关推荐
AZaLEan__12 分钟前
图论:拓扑排序
算法·深度优先
悠仁さん13 分钟前
数据结构 排序
数据结构·算法·排序算法
阿文的代码库15 分钟前
机器学习之精确率和召回率的关系
人工智能·算法·机器学习
咸鱼翻身小阿橙23 分钟前
高斯模糊降噪/磨皮算法降噪图像
前端·opencv·算法·webpack·c#
代码中介商29 分钟前
数据结构进阶(五):最短路径——Dijkstra 与 Floyd 算法
数据结构·算法
fengxin_rou30 分钟前
LeetCode链表经典五题:从相交到环形,双指针的妙用
算法·leetcode·链表
KaMeidebaby31 分钟前
卡梅德生物技术快报|抗原如何自己检测?FAdV-4 重组抗原制备与 ELISA 体系技术调试指南
前端·人工智能·物联网·算法·百度
却道天凉_好个秋34 分钟前
HEVC(二):如何实现并行处理
人工智能·算法·计算机视觉·hevc·瓦片技术·波前并行处理wpp
wayz1135 分钟前
Momentum:QQE(定量定性估计)技术指标详解
算法·金融·数据分析·量化交易·特征工程
Dontla37 分钟前
聚类找不到簇原因分析(聚类失败)(DBSCAN聚类算法、eps参数、Epsilon参数、最大允许距离)
算法·数据挖掘·聚类