【发布时间】:2019-09-11 18:08:18
【问题描述】:
我正在练习算法并解决这个经典问题。有很多解决方案,我正在尝试使用 Javascript 来解决它。我将在下面发布问题和我的内容:
给定二叉搜索树的根节点,返回所有节点的值之和,其值在 L 和 R(含)之间。
二叉搜索树保证具有唯一值。
Example 1: Input: root = [10,5,15,3,7,null,18], L = 7, R = 15 Output: 32
var rangeSumBST = function(root, L, R) {
let result = 0;
if (root === null) return 0;
if (root.val >= L && root.val <= R) {
result += root.val
}
rangeSumBST(root.left, L, R)
rangeSumBST(root.right, L, R)
return result
};
// Output is 10 instead of 32
【问题讨论】:
-
这棵树长什么样子?请添加树。
-
树看起来像这样:[10,5,15,3,7,null,18],所以 10 是父节点,5 和 15 作为子节点。 3 和 7 是 5 的孩子,null 和 18 是 15 的孩子
-
是树遍历。但是树代码呢?
-
不是 100% 确定,这是来自 leetcode 的问题:leetcode.com/problems/range-sum-of-bst 我意识到我没有添加任何内容,这就是问题所在。
标签: javascript binary-search-tree