[LeetCode javaScript] 669. 修剪二叉搜尋樹
阿新 • • 發佈:2019-01-11
給定一個二叉搜尋樹,同時給定最小邊界L 和最大邊界 R。通過修剪二叉搜尋樹,使得所有節點的值在[L, R]中 (R>=L) 。你可能需要改變樹的根節點,所以結果應當返回修剪好的二叉搜尋樹的新的根節點。
示例 1:
輸入:
1
/
0 2
L = 1
R = 2
輸出:
1
2
示例 2:
輸入:
3
/
0 4
2
/
1
L = 1
R = 3
輸出:
3
/
2
/
1
/** * 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<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; };