Leetcode 938. 二叉搜索树的范围和

题目

给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。

二叉搜索树保证具有唯一的值。

示例 1:

输入:root = [10,5,15,3,7,null,18], L = 7, R = 15
输出:32

示例 2:

输入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10
输出:23

提示:
树中的结点数量最多为 10000 个。
最终的答案保证小于 2^31。

C++解法

class Solution {
public:
    int rangeSumBST(TreeNode* root, int L, int R) {
        if (root == NULL) return 0;
        int sum = 0;
        if (root->left != NULL) sum += rangeSumBST(root->left, L, R);
        if (root->val >= L && root->val <= R) sum += root->val;
        if (root->right != NULL) sum += rangeSumBST(root->right, L, R);
        return sum;
    }
};

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/range-sum-of-bst

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容