专栏首页SnailTyanValidate Binary Search Tree

Validate Binary Search Tree

1. Description

2. Solution

  • Recurrent
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool isValidBST(TreeNode* root) {
        return validate(root, nullptr, nullptr);
    }

private:
    bool validate(TreeNode* root, TreeNode* max, TreeNode* min) {
        if(!root) {
            return true;
        }
        if((min && root->val <= min->val) || (max && root->val >= max->val)) {
            return false;
        }
        return validate(root->left, root, min) && validate(root->right, max, root);
    }
};

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Leetcode 701. Insert into a Binary Search Tree

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.cs...

    Tyan
  • Leetcode 653. Two Sum IV - Input is a BST

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.cs...

    Tyan
  • Leetcode 700. Search in a Binary Search Tree

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn....

    Tyan
  • LintCode-375.克隆二叉树

    悠扬前奏
  • 天天算法 LeetCode-938-二叉搜索树的范围和

    https://leetcode-cn.com/problems/range-sum-of-bst/

    灵魂画师牧码
  • linux centos中添加删除修改环境变量,设置java环境变量

    前言 安装完软件必要添加环境变量。指令很少,然而长时间不写就会不自信:我写的对吗?于是百度开始,于是发现又是各有千秋。好吧,好记星不如烂笔头。当然,最重要的是,...

    Ryan-Miao
  • 【每日算法Day 76】经典面试题:中序遍历的下一个元素,5大解法汇总!

    首先本题中的二叉树还是个二叉搜索树,也就是中序遍历是单调递增的,所以我们可以利用这个性质来简化查找过程。

    godweiyang
  • 软硬链接、文件删除原理、linux中的三种时间、chkconfig优化

    第1章 软硬链接 1.1 硬链接 1.1.1 含义 多个文件拥有相同的inode号码 硬链接即文件的多个入口 1.1.2 作用 防止你误删除文件 1.1.3 如...

    惨绿少年
  • 2.16 umask

    umask命令介绍 umask命令,通过这个值可以确定文件和目录的默认权限是什么。 默认情况下,目录的权限值为755(rwxr-xr-x),普通文件的默认权限为...

    运维小白
  • 02-Shell-脚本多种执行方式

    [root@node1 ~]# chmod o+x first.sh

    泽阳

扫码关注云+社区

领取腾讯云代金券