博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode] Validate Binary Search Tree
阅读量:4326 次
发布时间:2019-06-06

本文共 1628 字,大约阅读时间需要 5 分钟。

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.
 
confused what 
"{1,#,2,3}" means? 
 
分析:二叉搜索树的中序遍历是从小到大排列的。
 
/*** 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{private:  int pre;  vector
vec;public: Solution():pre(LONG_MIN) {} bool isValidBST(TreeNode* root) { vec.clear(); if(root == NULL) return true; if(root->left==NULL && root->right==NULL) return true; isValid(root); for(int i=1; i
= vec[i]) return false; return true; } void isValid(TreeNode* root) { if(root) { isValid(root->left); vec.push_back(root->val); isValid(root->right); } }};

 

 
方法二:设置上下界
class Solution{public:  bool isValidBST(TreeNode* root)  {    if(root == NULL) return true;    if(root->left==NULL && root->right==NULL) return true;            return isValid(root, LONG_MIN, LONG_MAX);  }    bool isValid(TreeNode* root, int min, int max)  {    if(root==NULL) return true;    if(root->val <= min || root->val >= max) return false;    return isValid(root->left, min, root->val) && isValid(root->right, root->val, max);  }};

 

转载于:https://www.cnblogs.com/lxd2502/p/4565373.html

你可能感兴趣的文章
Codeforces 1110D. Jongmah 动态规划
查看>>
android驱动在win10系统上安装的心酸历程
查看>>
优雅的程序员
查看>>
oracle之三 自动任务调度
查看>>
Android dex分包方案
查看>>
ThreadLocal为什么要用WeakReference
查看>>
删除本地文件
查看>>
FOC实现概述
查看>>
base64编码的图片字节流存入html页面中的显示
查看>>
这个大学时代的博客不在维护了,请移步到我的新博客
查看>>
GUI学习之二十一——QSlider、QScroll、QDial学习总结
查看>>
nginx反向代理docker registry报”blob upload unknown"解决办法
查看>>
gethostbyname与sockaddr_in的完美组合
查看>>
kibana的query string syntax 笔记
查看>>
旋转变换(一)旋转矩阵
查看>>
thinkphp3.2.3 bug集锦
查看>>
[BZOJ 4010] 菜肴制作
查看>>
C# 创建 读取 更新 XML文件
查看>>
KD树
查看>>
VsVim - Shortcut Key (快捷键)
查看>>