leetcode:98. 验证二叉搜索树

学习要点

加深纯递归算法的理解

题目链接

98. 验证二叉搜索树 - 力扣(LeetCode)

题目描述

解法:纯递归

cpp 复制代码
vector<int> v;
    void dfs(TreeNode* root)
    {
        if(root == nullptr)
        {
            return;
        }
        dfs(root->left);
        v.push_back(root->val);
        dfs(root->right);
    }

    bool isValidBST(TreeNode* root) {     
        dfs(root);
        int flag = true;
        for(int i = 0; i<v.size();i++)
        {
            if(i > 0)
            {
                if(v[i] <= v[i-1])
                {
                    flag = false;
                    break;
                }
            }
        }
        return flag;
    }

解析

  1. 搜索二叉树的中序遍历是一个升序序列
  2. 中序遍历该二叉树,将其存入数组vector中
  3. 遍历这个数组,判断是否是一个升序数组
相关推荐
haluhalu.2 分钟前
LeetCode---基础算法刷题指南
数据结构·算法·leetcode
iAkuya7 分钟前
(leetcode)力扣100 58组合总和(回溯)
算法·leetcode·职场和发展
80530单词突击赢9 分钟前
C++关联容器深度解析:set/map全攻略
java·数据结构·算法
m0_561359679 分钟前
代码热更新技术
开发语言·c++·算法
Warren9819 分钟前
Pytest Fixture 作用域详解:Function、Class、Module、Session 怎么选
面试·职场和发展·单元测试·pytest·pip·模块测试·jira
xu_yule35 分钟前
算法基础—组合数学
c++·算法
爱尔兰极光36 分钟前
LeetCode--移除元素
算法·leetcode·职场和发展
努力学算法的蒟蒻40 分钟前
day73(2.1)——leetcode面试经典150
面试·职场和发展
Warren9842 分钟前
接口测试理论
docker·面试·职场和发展·eureka·ansible
Tansmjs1 小时前
C++中的工厂模式变体
开发语言·c++·算法