首页 > 其他分享 >刷刷刷 Day 20 | 98. 验证二叉搜索树

刷刷刷 Day 20 | 98. 验证二叉搜索树

时间:2023-01-24 21:56:26浏览次数:62  
标签:20 inorder list 二叉 98 搜索 return root Day

98. 验证二叉搜索树

LeetCode题目要求

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

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

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

示例

输入:root = [2,1,3]
输出:true
解题思路

根据二叉搜索树的特性,使用中序遍历,如果是个有序的数组,那么就是有效的二叉搜索树

上代码

class Solution {
    public boolean isValidBST(TreeNode root) {
        if (root == null) {
            return false;
        }
        List<Integer> list = new ArrayList<>();
        inorder(root, list);
        if (list.size() == 1) {
            return true;
        }
        int pre = list.get(0);
        for (int i = 1; i < list.size(); i++) {
            if (pre >= list.get(i)) {
                return false;
            }
            pre = list.get(i);
        }
        return true;
    }

    public void inorder(TreeNode root, List<Integer> list) {
        if (root == null) {
            return;
        }
        inorder(root.left, list);
        list.add(root.val);
        inorder(root.right, list);
    }
}

附:学习资料链接

标签:20,inorder,list,二叉,98,搜索,return,root,Day
From: https://www.cnblogs.com/blacksonny/p/17066430.html

相关文章

  • vs2019可以用的va助手破解版
    visualassistx安装教程下载链接:https://pan.baidu.com/s/1nQjJhkCwR6OHEM8bhG9aqw 提取码:3wef下载链接:https://pan.baidu.com/s/1bqkp5yZ 密码:34p8 或者我自己保......
  • 刷刷刷 Day 20 | 700. 二叉搜索树中的搜索
    700.二叉搜索树中的搜索LeetCode题目要求给定二叉搜索树(BST)的根节点 root 和一个整数值 val。你需要在BST中找到节点值等于 val 的节点。返回以该节点为根的子......
  • PostgreSQL(PG)考试认证 2023新春计划
    邀请返现每人可向PGCCC官方班班索要一个码,每邀请1人报名成功,可返50元,上不封顶本活动仅限PCP、PCM在被邀请人完成考试后,返还。(不报名也可以参与) 特惠日期:2023年1月2......
  • java_day002
                              p38总结......
  • 刷刷刷 Day 20 | 617. 合并二叉树
    617.合并二叉树LeetCode题目要求给你两棵二叉树:root1和root2。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两......
  • 2023 hgame趣题——2
    Helpmarvin最近在做hgameweek3的题,强度不小,Bi0s剩下那个密码(bad2code)过些天再更,今天发一个hgameweek1的IoT题目。SPI协议用单独的数据线和单独的时钟信号来保证发送......
  • 《数据结构》课程设计任务书[2023-01-24]
    《数据结构》课程设计任务书[2023-01-24]《数据结构》课程设计任务书此任务书仅适用选课储岳中老师的学生QQ群:7492682161(入群密码:2022DS1)一、设计要求仔细阅读《......
  • 刷刷刷 Day 20 | 654. 最大二叉树
    654.最大二叉树LeetCode题目要求给定一个不重复的整数数组 nums。 最大二叉树 可以用下面的算法从 nums递归地构建:创建一个根节点,其值为 nums中的最大值。递......
  • P2602 [ZJOI2010] 数字计数
    P2602[ZJOI2010]数字计数-洛谷|计算机科学教育新生态(luogu.com.cn)数位DP模板题由于是对0~9进行统计,所以我们只需对每一个数进行数位DP即可不过对于0和1~9还是......
  • day0--高翔第三讲 三维空间刚体运动1
    学习目的描述一个三维空间中运动的物体(刚体)在某一时刻的位置。预备知识线性代数c++语言cmake工程核心知识1.旋转矩阵位点三维空间中的一个点,由三个轴来描述(x,y......