Seawolf 发表于 2019-9-16 23:46:20

leetcode 938. Range Sum of BST

Given the root node of a binary search tree, return the sum of values of all nodes with value between L and R (inclusive).

The binary search tree is guaranteed to have unique values.



Example 1:

Input: root = , L = 7, R = 15
Output: 32
Example 2:

Input: root = , L = 6, R = 10
Output: 23


Note:

The number of nodes in the tree is at most 10000.
The final answer is guaranteed to be less than 2^31.

/**
* Definition for a binary tree node.
* public class TreeNode {
*   int val;
*   TreeNode left;
*   TreeNode right;
*   TreeNode(int x) { val = x; }
* }
*/
class Solution {
    public int rangeSumBST(TreeNode root, int L, int R) {
      if(root == null) return 0;
      return sum(root,L,R);
    }
   
    public int sum(TreeNode root, int L, int R){
      
      if(root == null) return 0;
      if(root.val >= L && root.val <= R) return root.val + sum(root.left,L,R) + sum(root.right,L,R);
      else if(root.val < L) return sum(root.right ,L,R);
      else return sum(root.left, L,R);
    }
}
页: [1]
查看完整版本: leetcode 938. Range Sum of BST