当前位置: 首页 > article >正文

【专题二 二叉树中的深搜】98. 验证二叉搜索树

1.题目解析

2.讲解算法原理 

二叉搜索树的中序遍历是一个有序序列

1.使用全局变量的优势

2.回溯

3.剪枝

  • 左子树是二叉搜索树
  • 当前节点符合二叉搜索树的定义
  • 右子树是一个二叉搜索树

3.编写代码 

/**
 * 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 {
    public long prev=Long.MIN_VALUE;;
    public boolean isValidBST(TreeNode root) {

        if(root==null){
            return true;
        }
       boolean leftnode=isValidBST(root.left);
       boolean cur=false;
       if(root.val>prev){
        cur=true;
       }
       prev=root.val;
       boolean rightnode=isValidBST(root.right);
       return leftnode&&rightnode&&cur;
    }
}


http://www.kler.cn/a/510705.html

相关文章:

  • LeetCode - #187 Swift 实现重复的DNA序列
  • Zookeeper(16)Zookeeper的状态模型是什么?
  • 新星杯-ESP32智能硬件开发--ESP32的I/O组成-系统中断矩阵
  • 微信消息群发(定时群发)-UI自动化产品(基于.Net平台+C#)
  • 日志收集Day002
  • 【python_钉钉群发图片】
  • 免费使用 Adobe 和 JetBrains 软件的秘密
  • 【Linux系统编程】—— 进程与进程管理在Linux中的基本概念
  • AI 行业新动态
  • 1.13-1.19
  • 【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用
  • 数据结构(Java版)第十期:栈和队列(一)
  • 【Django】多个APP设置独立的URL
  • 基于ChatGPT的论文写作辅助工具研究
  • AI 编程工具—Cursor AI 对话模式详解 内嵌对话模式
  • 【C语言】_自定义类型:联合体
  • 国产编辑器EverEdit -重复行
  • 第4章:Python TDD消除重复与降低依赖实践
  • 深度学习python基础(第一节) 变量和数据类型
  • 设计微服务的过程
  • 从Cursor到Replit Agent:AI编程技术全面综述
  • 【Python】endote参考文献格式获取,从PubMed
  • Next.js 实战 (八):使用 Lodash 打包构建产生的“坑”?
  • 【NLP高频面题】LSTM的前向计算如何进行加速?
  • 遥感应用论文精选
  • C++ 面向对象(继承)