当前位置: 首页 > news >正文

验证二叉搜索树

二叉搜索树

二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉搜索树作为一种经典的数据结构,它既有链表的快速插入与删除操作的特点,又有数组快速查找的优势;所以应用十分广泛,例如在文件系统和数据库系统一般会采用这种数据结构进行高效率的排序与检索操作。 

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。icon-default.png?t=N7T8https://leetcode.cn/problems/validate-binary-search-tree/description/

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

中序遍历一定是一个递增的数组

反之,不是合法的二叉搜索树

http://www.lryc.cn/news/236789.html

相关文章:

  • Ubuntu 18.04无网络连接的n种可能办法
  • MIUI查看当前手机电池容量
  • 链动2+1模式:创新营销引领白酒产业新潮流
  • openGauss学习笔记-126 openGauss 数据库管理-设置账本数据库-归档账本数据库
  • UE 视差材质 学习笔记
  • openfeign整合sentinel出现异常
  • Java的继承
  • 十二、Docker的简介
  • 卷积神经网络(CNN)多种图片分类的实现
  • 【备忘录】Docker容器、镜像删除与资源清理命令
  • 使用 Splashtop 的开放 API 简化 IT 工作流程
  • 使用requests库进行网络爬虫:IP请求错误的解决方法
  • Web之CSS笔记
  • CentOS to KeyarchOS 系统迁移体验
  • 如何从零开始制作一本企业宣传画册?
  • Android问题笔记四十六:解决open failed: EACCES (Permission denied) 问题
  • Universal adversarial perturbations(2017 CVPR)
  • 前台查看日志功能
  • mysqlbinlog使用记录
  • 学习c#的第十八天
  • element + vue3,级联选择器实现省市区
  • 程序员的护城河-并发编程
  • 外卖小程序系统:数字化餐饮的编码之道
  • 单链表相关面试题--1.删除链表中等于给定值 val 的所有节点
  • 一生一芯18——Chisel模板与Chisel工程构建
  • ES6 class类
  • Java的IO流-打印流
  • 如何使用$APPEALS法,分析用户期待?
  • 南京工程学院数据结构考试纲要
  • C++中将 sizeof() 用于类