id注册网站,怎么建设一个自己的电商网站,湖南必去十大景点排名,WordPress用Aplayer二叉搜索树
二叉查找树#xff08;Binary Search Tree#xff09;#xff0c;#xff08;又#xff1a;二叉搜索树#xff0c;二叉排序树#xff09;它或者是一棵空树#xff0c;或者是具有下列性质的二叉树#xff1a; 若它的左子树不空#xff0c;则左子树上所有结…二叉搜索树
二叉查找树Binary Search Tree又二叉搜索树二叉排序树它或者是一棵空树或者是具有下列性质的二叉树 若它的左子树不空则左子树上所有结点的值均小于它的根结点的值 若它的右子树不空则右子树上所有结点的值均大于它的根结点的值 它的左、右子树也分别为二叉排序树。二叉搜索树作为一种经典的数据结构它既有链表的快速插入与删除操作的特点又有数组快速查找的优势所以应用十分广泛例如在文件系统和数据库系统一般会采用这种数据结构进行高效率的排序与检索操作。 力扣LeetCode官网 - 全球极客挚爱的技术成长平台备战技术面试力扣提供海量技术面试资源帮助你高效提升编程技能轻松拿下世界 IT 名企 Dream Offer。https://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:vectorint res;bool isValidBST(TreeNode* root) {if(rootnullptr) {return true;}for(int i1;ires.size();i) {if(res[i]res[i-1]) {return false;}}return true;}void dfs(TreeNode* root) {if(rootnullptr) {return;}dfs(root-left);res.push_back(root-val);dfs(root-right);}
}; 中序遍历一定是一个递增的数组
反之不是合法的二叉搜索树