- 算法
深度优先搜索 - 核心思想
主要还是如何减枝比较重要。 - 代码
class Solution {
public TreeNode trimBST(TreeNode root, int low, int high) {
if (root == null) return null;
if(root.val > high || root.val < low) {
root = del(root);
root = trimBST(root,low,high);
}else{
root.right = trimBST(root.right, low, high);
root.left = trimBST(root.left, low, high);
}
return root;
}
private TreeNode del(TreeNode root) {
if (root.left == null) return root.right;
else if (root.right == null) return root.left;
else if (root.left!=null && root.right !=null){
TreeNode node = root.right;
while (node.left != null)
node = node.left;
node.left = root.left;
root = root.right;
}
return root;
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)