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;
    }
相关推荐
Yupureki12 小时前
《算法竞赛从入门到国奖》算法基础:入门篇-高精度
c语言·数据结构·c++·算法·visual studio
代码游侠12 小时前
应用——Linux 标准IO编程
linux·前端·数据库·学习·算法
小尧嵌入式12 小时前
在windows上安装ffmpeg及新版ffmpeg命令
c++·windows·算法·ffmpeg
beordie12 小时前
LeetCode 1. 两数之和 | 从暴力到哈希表的优化之路
算法
free-elcmacom12 小时前
机器学习进阶<5>K-means智能客户分群与可视化分析系统
算法·机器学习·kmeans
csuzhucong12 小时前
海盐折纸
算法
oioihoii12 小时前
单链表与双链表专题详解
数据结构·算法
晞微12 小时前
神经网络学习:感知器算法实现与可视化
神经网络·学习·算法
AndrewHZ12 小时前
【图像处理基石】RGB图像频域滤波:原理、实现与实战(Python)
图像处理·python·算法·计算机视觉·傅里叶变换·频域滤波·滤波核设计
EXtreme3512 小时前
栈(Stack)的约束之美:LIFO哲思、实现剖析与算法应用全景深度解析
数据结构·算法··共享栈·链栈·lifo·表达式求值