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

leetcode日记(85)验证二叉搜索树

不难,有两种解法(看答案才想到中序遍历)。

我用的是普通递归,和上一题差不多,规定min和max,每次遍历缩小范围:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    bool Vaild(TreeNode* root,long int min,long int max){
        bool b=1;
        if(root->val>=max||root->val<=min) return 0;
        if(root->left!=NULL){
            b=b&Vaild(root->left,min,root->val);
        }
        if(b==0) return 0;
        if(root->right!=NULL){
            b=b&Vaild(root->right,root->val,max);
        }
        return b;
    }
    bool isValidBST(TreeNode* root) {
        long int min=-2147483649;
        long int max=2147483648;
        return Vaild(root,min,max);
    }
};

也可以用中序遍历的方法。


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

相关文章:

  • 深度学习驱动的跨行业智能化革命:技术突破与实践创新
  • 鸿蒙Next-应用检测、安装以及企业内部商店的实现
  • 常见的算法题python
  • SecureCRT 文件上传下载操作指南
  • PyTorch系列教程:Tensor.view() 方法详解
  • <script setup>和export default { setup() { ... } }区别
  • 计算机网络-服务器模型
  • pom.xml配置(mybatisplus增删改查实现;PageInfo分页实现;JSONObject实现)
  • Redis 内存淘汰策略深度解析
  • LeetCode - 28 找出字符串中第一个匹配项的下标
  • MySQL 主主复制与 Redis 环境安装部署
  • PHP之数组
  • 【Git】删除文件
  • 用了主键索引反而查询慢?深度解析SQL性能反常识现象
  • git本地仓库链接远程仓库
  • ApoorvCTF Rust语言逆向实战
  • Docker 部署 MongoDB 并持久化数据
  • Android A/B System OTA分析提取 payload 在ZIP包中的 offset 和 size
  • 深度学习语义分割数据集全景解析
  • 股票交易所官方api接口有哪些?获取和使用需要满足什么条件