【力扣每日一题】力扣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;
    }
};
相关推荐
大闲在人43 分钟前
C、C++区别还是蛮大的
c语言·开发语言·c++
小灵不想卷1 小时前
LangChain4j Low 和 Hight-level API
java·langchain4j
Cosmoshhhyyy2 小时前
《Effective Java》解读第39条:注解优先于命名模式
java·开发语言
亓才孓2 小时前
[SpringIOC]NoSuchBeanDefinitionException
java·spring
追随者永远是胜利者2 小时前
(LeetCode-Hot100)20. 有效的括号
java·算法·leetcode·职场和发展·go
掘根3 小时前
【C++STL】平衡二叉树(AVL树)
开发语言·数据结构·c++
瓦特what?3 小时前
快 速 排 序
数据结构·算法·排序算法
前路不黑暗@3 小时前
Java项目:Java脚手架项目的文件服务(八)
java·开发语言·spring boot·学习·spring cloud·docker·maven
niuniudengdeng3 小时前
基于时序上下文编码的端到端无文本依赖语音分词模型
人工智能·数学·算法·概率论