Java
class Solution {
public TreeNode trimBST(TreeNode root, int L, int 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;
}
}
Python
class Solution:
def trimBST(self, root, L, R):
"""
:type root: TreeNode
:type L: int
:type R: int
:rtype: TreeNode
"""
if not root:
return None
if root.val<L:
return self.trimBST(root.right,L,R)
if root.val>R:
return self.trimBST(root.left,L,R)
root.left=self.trimBST(root.left,L,R)
root.right=self.trimBST(root.right,L,R)
return root