题目
给定二叉搜索树的根结点 root,返回值位于范围 [low, high]
之间的所有结点的值的和。
示例 1:
1 2
| 输入:root = [10,5,15,3,7,null,18], low = 7, high = 15 输出:32
|
示例 2:
1 2 3 4
| 输入:root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10 输出:23
|
提示:
1 2 3 4
| 树中节点数目在范围 [1, 2 * 104] 内 1 <= Node.val <= 105 1 <= low <= high <= 105 所有 Node.val 互不相同
|
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/range-sum-of-bst
解答
一道简单题,中序遍历递归即可
1 2 3 4 5 6 7 8 9 10
| class Solution { public int rangeSumBST(TreeNode root, int low, int high) { if (root == null) return 0; int leftVal = rangeSumBST(root.left, low, high); int midVal = 0; if (low <= root.val && root.val <= high) midVal = root.val; int rightVal = rangeSumBST(root.right, low, high); return leftVal + midVal + rightVal; } }
|