当前位置:网站首页>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;
}
};
边栏推荐
- 使用股票量化交易接口需要具备怎么样的心态
- DXF笔记:文字对齐的研究
- 17-GuliMall 搭建虚拟域名访问环境
- Tencent continues to wield the "big knife" to reduce costs and increase efficiency, and free catering benefits for outsourced employees have been cut
- Linux 配置MySQL
- leetcode:331. 验证二叉树的前序序列化
- C. Mere Array
- R语言使用mean函数计算样本(观测)数据中指定变量的相对频数:计算时间序列数据中大于前一个观测值的观测值所占的比例总体的比例
- Miscellaneous talk - the sorrow of programmers
- 继承关系下构造方法的访问特点
猜你喜欢
随机推荐
CV复习:softmax代码实现
第 1 章 一大波数正在靠近——排序
CGLIB源码易懂解析
继承关系下构造方法的访问特点
DXF笔记:文字对齐的研究
Interviewer: How to deal with Redis big key?
量化交易接口系统有哪些稳定性?
关于ETL的两种架构(ETL架构和ELT架构)
用户要清晰知道,量化交易并非简单的程序
Core Data浅谈系列之五 : 在UITableView中展示
R语言ggplot2可视化:使用ggpubr包的ggerrorplot函数可视化误差线(可视化不同水平均值点以及se标准误差)、设置add参数为dotplot添加点阵图
Flutter 绘制美不胜收的光影流动效果
大型分布式存储方案MinIO介绍,看完你就懂了!
阿里云架构师金云龙:基于云XR平台的视觉计算应用部署
MySQL——JDBC
JS中表单操作、addEventListener事件监听器
如何坚持使用程序化系统?
17-GuliMall 搭建虚拟域名访问环境
毕昇编译器优化:Lazy Code Motion
注意力引导网络用于视网膜图像分割