LeetCode 669. Trim a Binary Search Tree
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.
Example:
Input:
3
/ \
0 4
\
2
/
1
L = 1
R = 3
Output:
3
/
2
/
1
Solution:
/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root * @param {number} L * @param {number} R * @return {TreeNode} */ var trimBST = function(root, L, R) { if(root == null) return null; if(root.val > R) { return trimBST(root.left, L ,R); } if(root.val < L) { return trimBST(root.right, L, R) } root.left = trimBST(root.left, L, R); root.right = trimBST(root.right, L , R); return root; };

浙公网安备 33010602011771号