博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 98. 验证二叉搜索树
阅读量:4356 次
发布时间:2019-06-07

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

给定一个二叉树,判断其是否是一个有效的二叉搜索树。

假设一个二叉搜索树具有如下特征:

节点的左子树只包含小于当前节点的数。

节点的右子树只包含大于当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。

算法:我们只需要知道BST的性质:一颗合法的BST树它的中序遍历一定是升序无重复数排列。为此,我们只需要将中序遍历的结果存入数组判断数组是否满足这一性质即可。

/** * 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 {public:    vector
res; void dfs(TreeNode* root){ if(root){ dfs(root->left); res.push_back(root->val); dfs(root->right); } } bool isValidBST(TreeNode* root) { if(!root)return true; dfs(root); for(int i=1;i

 

转载于:https://www.cnblogs.com/programyang/p/11166750.html

你可能感兴趣的文章
一步一步写算法(之hash表)
查看>>
漫谈并发编程(一) - 并发简单介绍
查看>>
JDBC连接MySQL数据库及演示样例
查看>>
Beta 冲刺(1/7)
查看>>
修改 Vultr 登录密码
查看>>
CSS学习
查看>>
Centos 安装lnmp完整版
查看>>
【转】Eclipse和PyDev搭建完美Python开发环境(Ubuntu篇)
查看>>
redis安装和配置
查看>>
2016424王启元 Exp5 msf基础应用
查看>>
android + eclipse + 后台静默安装(一看就会)
查看>>
JPA事务总结
查看>>
transitionFromView方法的使用
查看>>
ubuntu nginx+php环境520错误
查看>>
Java中OutOfMemoryError(内存溢出)的三种情况及解决办法
查看>>
windows 10 无法使用内置管理员账户打开应用的解决方案
查看>>
php入门变量
查看>>
wince(2.3)获取位图某一点的RGB值
查看>>
【转】C#中如何实现左截取和右截取字符串
查看>>
SQL Server 中关于EXCEPT和INTERSECT的使用方法
查看>>