【力扣每日一题】力扣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;
    }
};
相关推荐
菜鸡儿齐22 分钟前
leetcode-最小栈
java·算法·leetcode
雪人不是菜鸡23 分钟前
简单工厂模式
开发语言·算法·c#
岛雨QA29 分钟前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc29 分钟前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
铸人30 分钟前
大数分解的Shor算法-C#
开发语言·算法·c#
问好眼33 分钟前
《算法竞赛进阶指南》0x01 位运算-3.64位整数乘法
c++·算法·位运算·信息学奥赛
yyjtx33 分钟前
DHU上机打卡D31
开发语言·c++·算法
GEO行业研究员33 分钟前
《认知锚定与路径锁死:基于爱搜光年模型的AI决策链条风险放大机制监测》
人工智能·算法·ai搜索优化·geo优化·医疗geo·医疗geo优化
wefg137 分钟前
【算法】单调栈和单调队列
数据结构·算法
岛雨QA44 分钟前
图「Java数据结构与算法学习笔记12」
数据结构·算法