一开始在想为什么题目说存在唯一答案。然后发现是二叉搜索树就合理了。如下图:如果0节点小于low,那其左子树也都小于low,故可以排除;对于4,其右子树也是可以排除。
代码如下:
class Solution {
public TreeNode trimBST(TreeNode root, int low, int high) {
if(root == null) return null;
if(root.val < low) return trimBST(root.right,low,high);
if(root.val > high) return trimBST(root.left,low,high);
root.left = trimBST(root.left,low,high);
root.right = trimBST(root.right,low,high);
return root;
}
}