天天看点

2021-4-27 力扣每日一题938 二叉搜索树的范围和

938 二叉搜索树的范围和

问题描述:

​ 给定二叉搜索树的根结点

root

,返回值位于范围

[low, high]

之间的所有结点的值的和。

示例1:
2021-4-27 力扣每日一题938 二叉搜索树的范围和

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

示例2:

2021-4-27 力扣每日一题938 二叉搜索树的范围和
输入:root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10
输出:23
           

思路:

​ 今天的题没啥好写的,一个遍历即可。深搜,广搜都可,这里使用深搜。

Java代码:

/**
* @Description: 力扣938题题解
* @return: 返回结果
* @Author: Mr.Gao
* @Date: 2021/4/27
*/
int low;
int hight;
public int rangeSumBST(TreeNode root, int low, int high) {
    this.low = low;
    this.hight = high;
    return dfs(root);
}
public int dfs(TreeNode root){
    int re = 0;
    if(root==null){
        return 0;
    }else if(root.val<=this.hight&&root.val>=this.low){
        re+=root.val;
    }
    return re+dfs(root.left)+dfs(root.right);
}