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. 遍历这个数组,判断是否是一个升序数组
相关推荐
Asmalin3 小时前
【代码随想录day 29】 力扣 135.分发糖果
算法·leetcode·职场和发展
微笑尅乐3 小时前
多解法详解与边界处理——力扣7.整数反转
算法·leetcode·职场和发展
夏鹏今天学习了吗3 小时前
【LeetCode热题100(31/100)】K 个一组翻转链表
算法·leetcode·链表
薰衣草23333 小时前
力扣——位运算
python·算法·leetcode
未知陨落3 小时前
LeetCode:83.打家劫舍
算法·leetcode
Pluchon4 小时前
硅基计划4.0 算法 字符串
java·数据结构·学习·算法
三年呀4 小时前
共识算法的深度探索:从原理到实践的全面指南
算法·区块链·共识算法·分布式系统·区块链技术·高性能优化
alex1004 小时前
BeaverTails数据集:大模型安全对齐的关键资源与实战应用
人工智能·算法·安全
麦格芬2304 小时前
LeetCode 416 分割等和子集
数据结构·算法
2401_841495645 小时前
【自然语言处理】Universal Transformer(UT)模型
人工智能·python·深度学习·算法·自然语言处理·transformer·ut