zoukankan      html  css  js  c++  java
  • Leecode_98_Validate_Binary_Search_Tree

    Given a binary tree, determine if it is a valid binary search tree (BST).

    Assume a BST is defined as follows:

    • The left subtree of a node contains only nodes with keys less than the node's key.
    • The right subtree of a node contains only nodes with keys greater than the node's key.
    • Both the left and right subtrees must also be binary search trees.

      Example 1:

          2
         / 
        1   3
      
      Binary tree [2,1,3], return true.

      Example 2:

          1
         / 
        2   3
      
      Binary tree [1,2,3], return false.
     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     bool isValidBST(TreeNode* root) {
    13          return isValidBST(root, LONG_MIN, LONG_MAX);
    14     }
    15     bool isValidBST(TreeNode *root, long mn, long mx) {
    16         if (!root) return true;
    17         if (root->val <= mn || root->val >= mx) return false;
    18         return isValidBST(root->left, mn, root->val) && isValidBST(root->right, root->val, mx);
    19     }
    20 };
  • 相关阅读:
    求C的近似值
    判断是否直角三角形
    温度转换异常处理
    python html页面
    python 爬虫goole主页
    python 足球模拟
    python模拟羽毛球竞技
    python 读书报告
    python 用jieba分词统计关于红楼梦的高频词
    python 在终端输出如下信息
  • 原文地址:https://www.cnblogs.com/sarah-zhang/p/6353536.html
Copyright © 2011-2022 走看看