【代码随想录day 17】 力扣 98.验证二叉搜索树
视频讲解:https://www.bilibili.com/video/BV18P411n7Q4/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0098.%E9%AA%8C%E8%AF%81%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91.html#%E6%80%9D%E8%B7%AF
力扣题目:https://leetcode.cn/problems/validate-binary-search-tree/submissions/652339060/
这道题主要是利用二叉搜索树的特点,根节点小于左子树大于右子树,根据中序遍历的数组就是单调递增的,遍历二叉树生成数组,判断数组是否单调递增即可。
class Solution {
public:vector<int> vec;void travesal(TreeNode *root){if(root == NULL) return;//左递归travesal(root->left);vec.push_back(root->val);travesal(root->right);}bool isValidBST(TreeNode* root) {vec.clear();travesal(root);for(int i=1;i<vec.size();i++){if(vec[i]<=vec[i-1]) return false;}return true;}
};