leetcode98.验证二叉搜索树

标签:二叉搜索树;中序遍历

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。

有效 二叉搜索树定义如下:

  • 节点的左子树只包含小于当前节点的数。
  • 节点的右子树只包含 大于 当前节点的数。
  • 所有左子树和右子树自身必须也是二叉搜索树。

示例 1:

复制代码
输入:root = [2,1,3]
输出:true

示例 2:

复制代码
输入:root = [5,1,4,null,null,3,6]
输出:false
解释:根节点的值是 5 ,但是右子节点的值是 4 。

思路:根据二叉搜索树中序遍历是严格升序序列解题

java 复制代码
List<Integer> list=new ArrayList<>();
    public boolean isValidBST(TreeNode root) {
        inorderTraversal(root);
        for(int i=0;i<list.size()-1;i++){
            if(list.get(i+1)<=list.get(i))
                return false;
        }
        return true;
    }

    public List<Integer> inorderTraversal(TreeNode root) {
        if(root==null)
            return list;
        inorderTraversal(root.left);
        list.add(root.val);
        inorderTraversal(root.right);
        return list;
    }
相关推荐
不做无法实现的梦~1 天前
运动控制系统复习一览-----常考题目总结版本
算法
小短腿的代码世界1 天前
信号路由风暴:Qt算法交易系统的高频信号分发架构
qt·算法·架构
阿文的代码库1 天前
一文读懂GROUP BY 1,2 VS GROUP BY column_1, column_2 的区别
算法
008爬虫实战录1 天前
【码上爬】 题十:魔改算法 堆栈分析,找加密值过程详解
前端·python·算法
chao1898441 天前
基于狮蚁群算法(ALO)的火电机组功能调度实现
人工智能·算法
Deep-w1 天前
【MATLAB】含光伏 - 储能的家庭/工业微电网能量管理仿真研究
开发语言·算法·matlab
阿文的代码库1 天前
换根技巧实例分析:最小高度树
算法·动态规划
dyxal1 天前
Louvain 算法:让网络自己“报团取暖”的发现者
开发语言·算法
计算机安禾1 天前
【c++面向对象编程】第41篇:函数模板与类模板:泛型编程的基石
开发语言·c++·算法
SilentSamsara1 天前
属性查找顺序:实例 → 类 → 父类的完整 MRO
开发语言·python·算法·青少年编程