0938. Range Sum of BST (E)

Range Sum of BST (E)

题目

Given the root node of a binary search tree, return the sum of values of all nodes with a value in the range [low, high].java

Example 1:node

Input: root = [10,5,15,3,7,null,18], low = 7, high = 15
Output: 32

Example 2:3d

Input: root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10
Output: 23

Constraints:code

  • The number of nodes in the tree is in the range [1, 2 * 10^4].
  • 1 <= Node.val <= 10^5
  • 1 <= low <= high <= 10^5
  • All Node.val are unique.

题意

求树中全部在指定范围内的值得和。blog

思路

DFS便可。it


代码实现

Java

class Solution {
    public int rangeSumBST(TreeNode root, int low, int high) {
        if (root == null) {
            return 0;
        }

        int sum = root.val >= low && root.val <= high ? root.val : 0;
        return sum + rangeSumBST(root.left, low, high) + rangeSumBST(root.right, low, high);
    }
}