当前位置:网站首页>Leetcode 98. 验证二叉搜索树
Leetcode 98. 验证二叉搜索树
2022-08-09 22:08:00 【LuZhouShiLi】
Leetcode 98. 验证二叉搜索树
题目
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。
有效 二叉搜索树定义如下:
节点的左子树只包含 小于 当前节点的数。
节点的右子树只包含 大于 当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。
思路
- 二叉搜索树的中序遍历是一个有序序列,那么验证二叉搜索树只需要验证节点是否是有序的
- 先使用中序遍历,将每一个节点值存入数组中
- 之后判断数组是否是单调递增的
代码
/** * 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 {
private:
vector<int> vec;// 存储二叉树节点
// 中序遍历 有序序列
void traversal(TreeNode* root)
{
if(root == NULL)
{
return ;
}
traversal(root->left);
vec.push_back(root->val);
traversal(root->right);
}
public:
bool isValidBST(TreeNode* root) {
vec.clear();
traversal(root);
for(int i = 1; i < vec.size();i++)
{
// 二叉树中不能有相同元素
if(vec[i] <= vec[i - 1])
{
return false;
}
}
return true;
}
};
边栏推荐
- R语言patchwork包将多个可视化结果组合起来、使用plot_annotation函数以及tag_level参数将组合图用大写字母进行顺序编码、为组合图的标签添加自定义前缀信息
- Postgresql源码(68)virtualxid锁的原理和应用场景
- 干涉BGP的选路---社团属性
- Basic operations of xlrd and xlsxwriter
- leetcode:331. 验证二叉树的前序序列化
- 深度学习100例 —— 循环神经网络(RNN)实现股票预测
- PyQt5:入门使用教程
- 十步以内,用小程序快速生成App!
- (转)字符集编码标识符,数字表示字符编码
- Cesium渐变色3dtiles白模(视频)
猜你喜欢
Install win7 virtual machine in Vmware and related simple knowledge
Flask's routing (app.route) detailed
CV review: softmax code implementation
Core Data浅谈系列之五 : 在UITableView中展示
OSS文件上传
leetcode brush questions diary Calculate the number of elements on the right that is less than the current element
Jinshanyun earthquake, the epicenter is in bytes?
月薪5K的运维小白如何成为月薪5W的高级架构师?
Qt message mechanism and events
JS中表单操作、addEventListener事件监听器
随机推荐
(转)字符集编码标识符,数字表示字符编码
CV复习:softmax代码实现
华为云全流程护航《流浪方舟》破竹首发,打造口碑爆款
Redis
【燃】是时候展现真正的实力了!一文看懂2022华为开发者大赛技术亮点
JS中表单操作、addEventListener事件监听器
CGLIB源码易懂解析
leetcode:331. 验证二叉树的前序序列化
迅为瑞芯微RK3399开发板设置Buildroot文件系统测试MYSQL允许远程访问
daemon
Cesium渐变色3dtiles白模(视频)
【技术分享】SLA(服务等级协议)原理与配置
信息系统项目管理师---第十一章项目风险管理历年考题
leetcode 38. 外观数列
Common commands and technical function modules of Metasploit
Liver all night to write a thirty thousand - word all the commands the SQL database, function, speaks clearly explain operators, content is rich, proposal collection + 3 even high praise!
开发者必备:一文快速熟记【数据库系统】和【软件开发模型】常用知识点
R语言将列表数据转化为向量数据(使用unlist函数将列表数据转化为向量数据)
【软考 系统架构设计师】案例分析④ 软件架构风格
月薪5K的运维小白如何成为月薪5W的高级架构师?