zl程序教程

您现在的位置是:首页 >  其他

当前栏目

938. 二叉搜索树的范围和

搜索 范围 二叉
2023-09-14 09:06:52 时间

938. 二叉搜索树的范围和

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

示例 1:
在这里插入图片描述

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

示例 2:
在这里插入图片描述

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

这题比较常规,解题代码如下所示:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
 int sum;

void dfs(struct TreeNode* root,int low,int high){
    if(root){
        if(root->val>=low&&root->val<=high){
            sum=sum+root->val;
        }
        dfs(root->right,low,high);
        dfs(root->left,low,high);
    }
}
int rangeSumBST(struct TreeNode* root, int low, int high){
    sum=0;
    dfs(root,low,high);
    return sum;

}