代码随想录——验证二叉搜索树(Leetcode98)

题目链接

递归

一个有效的二叉搜索树中序遍历应该是一个递增序列

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
     ArrayList<Integer> array = new ArrayList<>();
    public boolean isValidBST(TreeNode root) {
        inOrder(root);
        for(int i = 1; i < array.size(); i++){
            if(array.get(i) <= array.get(i - 1)){
                return false;
            }
        }
        return true;
    }
    // 中序遍历
    public void inOrder(TreeNode root){
        if(root == null){
            return ;
        }
        inOrder(root.left);
        array.add(root.val);
        inOrder(root.right);
    }
}
相关推荐
康谋自动驾驶26 分钟前
康谋分享 | 自动驾驶仿真进入“标准时代”:aiSim全面对接ASAM OpenX
人工智能·科技·算法·机器学习·自动驾驶·汽车
chxii1 小时前
5java集合框架
java·开发语言
C++ 老炮儿的技术栈1 小时前
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
c语言·开发语言·c++·qt·算法
yychen_java2 小时前
R-tree详解
java·算法·r-tree
JANYI20182 小时前
嵌入式设计模式基础--C语言的继承封装与多态
java·c语言·设计模式
MarkHard1232 小时前
Leetcode (力扣)做题记录 hot100(62,64,287,108)
算法·leetcode·职场和发展
王RuaRua2 小时前
[数据结构]5. 栈-Stack
linux·数据结构·数据库·链表
xrkhy2 小时前
反射, 注解, 动态代理
java
Ten peaches3 小时前
Selenium-Java版(操作元素)
java·selenium·测试工具·html
一只鱼^_3 小时前
牛客练习赛138(首篇万字题解???)
数据结构·c++·算法·贪心算法·动态规划·广度优先·图搜索算法