【力扣每日一题】力扣938二叉搜索树的范围和

题目来源

力扣938二叉搜索树的范围和

题目概述

给定二叉搜索树的根结点 root ,返回值位于范围 [low, high] 之间的所有结点的值的和。

思路分析

递归遍历树,判断遇到的节点是否满足要求,满足则加入结果。

代码实现

java实现

java 复制代码
class Solution {
    int res = 0;
    public int rangeSumBST(TreeNode root, int low, int high) {
        if (root == null) {
            return 0;
        }
        if (root.val <= high && root.val >= low) {
            res += root.val;
        }
        if (root.val > low && root.left != null) {
            rangeSumBST(root.left, low, high);
        }
        if (root.val < high && root.right != null) {
            rangeSumBST(root.right, low, high);
        }
        return res;
    }
}

c++实现

cpp 复制代码
class Solution {
public:
    int res = 0;
    int rangeSumBST(TreeNode* root, int low, int high) {
        if (root == nullptr) {
            return 0;
        }
        if (root->val <= high && root->val >= low) {
            res += root->val;
        }
        if (root->val > low && root->left != nullptr) {
            rangeSumBST(root->left, low, high);
        }
        if (root->val < high && root->right != nullptr) {
            rangeSumBST(root->right, low, high);
        }
        return res;
    }
};
相关推荐
一只叫煤球的猫13 小时前
别再把 Lambda 当匿名类:这 9 类坑你一定踩过
java·后端·面试
知识即是力量ol13 小时前
微服务架构:从入门到进阶完全指南
java·spring cloud·微服务·nacos·架构·gateway·feign
Javatutouhouduan13 小时前
RocketMQ是怎么保存偏移量的?
java·消息队列·rocketmq·java面试·消息中间件·后端开发·java程序员
天若有情67313 小时前
IoC不止Spring!求同vs存异,两种反向IoC的核心逻辑
java·c++·后端·算法·spring·架构·ioc
tankeven13 小时前
HJ103 Redraiment的走法
c++·算法
瓦特what?13 小时前
平 滑 排 序
c++·算法·排序算法
彭于晏Yan13 小时前
LangChain4j实战三:图像模型
java·spring boot·后端·langchain
醒过来摸鱼14 小时前
合并区间问题
算法
Trouvaille ~14 小时前
【动态规划篇】专题(二):路径问题——在网格图中的决策艺术
c++·算法·leetcode·青少年编程·动态规划
SimonKing14 小时前
跨越数据孤岛!SpringBoot使用JDBC调用Calcite联邦查询实战
java·后端·程序员