代码随想录——验证二叉搜索树(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);
    }
}
相关推荐
程序员岳焱几秒前
Java高级反射实战:15个场景化编程技巧与底层原理解析
java·后端·编程语言
程序员小假几秒前
说一说 Netty 中的心跳机制
java·后端
FogLetter1 分钟前
微信红包算法揭秘:从随机性到产品思维的完美结合
算法
真实的菜8 分钟前
消息队列处理模式:流式与批处理的艺术
java
YGGP22 分钟前
吃透 Golang 基础:数据结构之 Map
开发语言·数据结构·golang
盖世英雄酱5813623 分钟前
Java 内存管理技巧(新手必看集合篇)
java
码农小灰25 分钟前
Java 8 Stream API 入门到实践详解
java·java案例
BUG收容所所长27 分钟前
二分查找的「左右为难」:如何优雅地找到数组中元素的首尾位置
前端·javascript·算法
步、步、为营30 分钟前
.NET 事件模式举例介绍
java·开发语言·.net
cui_hao_nan33 分钟前
设计模式——模板方法
java·设计模式