验证二叉查找树-LintCode
来源:互联网 发布:在线字体识别软件 编辑:程序博客网 时间:2024/06/01 15:43
给定一个二叉树,判断它是否是合法的二叉查找树(BST)
一棵BST定义为:
节点的左子树中的值要严格小于该节点的值。
节点的右子树中的值要严格大于该节点的值。
左右子树也必须是二叉查找树。
一个节点的树也是二叉查找树。
样例
一个例子:
#ifndef C95_H#define C95_H#include<iostream>#include<vector>using namespace std;class TreeNode{public: int val; TreeNode *left, *right; TreeNode(int val){ this->val = val; this->left = this->right = NULL; }};class Solution {public: /** * @param root: The root of binary tree. * @return: True if the binary tree is BST, or false */ vector<TreeNode*> v; bool isValidBST(TreeNode *root) { // write your code here if (root == NULL) return true; if (root->left == NULL || root->right == NULL) return true; inorder(root); for (int i = 0; i < v.size() - 1; ++i) { if (v[i]->val >= v[i + 1]->val) { return false; break; } } return true; } void inorder(TreeNode* root) { if (root != NULL) { inorder(root->left); v.push_back(root); inorder(root->right); } }};#endif
阅读全文
0 0
- LintCode:验证二叉查找树
- LintCode : 验证二叉查找树
- Lintcode 验证二叉查找树
- 验证二叉查找树-LintCode
- 验证二叉查找树-LintCode
- lintcode-验证查找二叉树-95
- lintcode(95)验证二叉查找树
- LintCode 97 验证二叉查找树
- LINTCODE —— 验证二叉查找树
- LintCode-分治-验证二叉查找树
- 验证二叉查找树—LintCode
- LintCode 95-验证二叉查找树
- lintcode validate-binary-search-tree 验证二叉查找树
- **[Lintcode]Validate Binary Search Tree 验证二叉查找树
- lintcode 二叉查找树总结
- lintcode二叉查找树总结
- 验证满二叉树-LintCode
- [LintCode]95.验证二叉查找树(二叉排序树/二叉搜索树) 中序遍历
- nginx的配置、虚拟主机、负载均衡和反向代理(3)
- *+=* 和 *=*+*的区别
- jQuery源码阅读(五)---init函数
- CNTK API文档翻译(7)——对MNIST数据使用卷积神经网络
- netty5 用户指南
- 验证二叉查找树-LintCode
- 递归优化
- h.265继承了h.264哪些编码技术,抛弃了h.264哪些编码技术,又引入了哪些新的编码技术?
- 关于自定义View的Paint、Canvas和PorterDuffXfermode的用法
- Python使用struct处理二进制
- display:inline display:block
- Linux问题—源码安装及库文件的一些经验
- 虚拟环境常用命令
- Redis