【力扣每日一题】力扣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;
    }
};
相关推荐
能工智人小辰5 分钟前
Codeforces Round 509 (Div. 2) C. Coffee Break
c语言·c++·算法
kingmax542120086 分钟前
CCF GESP202503 Grade4-B4263 [GESP202503 四级] 荒地开垦
数据结构·算法
岁忧11 分钟前
LeetCode 高频 SQL 50 题(基础版)之 【高级字符串函数 / 正则表达式 / 子句】· 上
sql·算法·leetcode
梦星辰.13 分钟前
VSCode CUDA C++进行Linux远程开发
linux·c++·vscode
pan_junbiao21 分钟前
Spring框架的设计模式
java·spring·设计模式
远方160922 分钟前
0x-2-Oracle Linux 9上安装JDK配置环境变量
java·linux·oracle
北执南念27 分钟前
CompletableFuture+线程池使用案列
java
whoarethenext1 小时前
C++ OpenCV 学习路线图
c++·opencv·学习
eachin_z1 小时前
力扣刷题(第四十九天)
算法·leetcode·职场和发展
黄交大彭于晏1 小时前
发送文件脚本源码版本
java·linux·windows