一、题目
Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that all its elements lies in [L, R] (R >= L). You might need to change the root of the tree, so the result should return the new root of the trimmed binary search tree.
二、题目大意
限定二叉搜索树的所有节点在[L, R]范围内,需要返回修剪后的二叉搜索树。
三、解题思路
采用递归的方法,需要注意当前节点的值小于L和大于R的处理。
四、代码实现
const trimBST = (root, L, R) => {
if (!root) {
return null
}
if (root.val < L) {
return trimBST(root.right, L, R)
}
if (root.val > R) {
return trimBST(root.left, L, R)
}
root.left = trimBST(root.left, L, R)
root.right = trimBST(root.right, L, R)
return root
}
如果本文对您有帮助,欢迎关注微信公众号,为您推送更多大前端相关的内容, 欢迎留言讨论,ε=ε=ε=┏(゜ロ゜;)┛。

您还可以在这些地方找到我: