自助网站免费龙岩几个县
2026/4/17 19:34:08 网站建设 项目流程
自助网站免费,龙岩几个县,DMZ做网站,重庆可以建建网站的平台669.修剪二叉搜索树给你二叉搜索树的根节点 root #xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即#xff0c;如果没有被移除#xff0c;原有的父代子…669.修剪二叉搜索树给你二叉搜索树的根节点root同时给定最小边界low和最大边界high。通过修剪二叉搜索树使得所有节点的值在[low, high]中。修剪树不应该改变保留在树中的元素的相对结构 (即如果没有被移除原有的父代子代关系都应当保留)。 可以证明存在唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意根节点可能会根据给定的边界发生改变。示例 1输入root [1,0,2], low 1, high 2输出[1,null,2]示例 2输入root [3,0,4,null,2,null,null,1], low 1, high 3输出[3,2,null,1]提示树中节点数在范围[1, 104]内0 Node.val 104树中每个节点的值都是唯一的题目数据保证输入是一棵有效的二叉搜索树0 low high 104对根结点 root 进行递归。对于当前的结点如果结点为空结点直接返回空结点如果结点的值小于 low那么说明该结点及它的左子树都不符合要求我们返回对它的右结点进行修剪后的结果如果结点的值大于 high那么说明该结点及它的右子树都不符合要求我们返回对它的左子树进行修剪后的结果如果结点的值位于区间 [low,high]我们将结点的左结点设为对它的左子树修剪后的结果右结点设为对它的右子树进行修剪后的结果public static void main(String[] args) { // 测试用 TreeNode treeNode1 new TreeNode(1); // treeNode1.left new TreeNode(0); treeNode1.right new TreeNode(2); // treeNode1.left.right new TreeNode(2); // treeNode1.left.right.left new TreeNode(1); System.out.println(trimBST(treeNode1, 2, 4)); } public static TreeNode trimBST(TreeNode root, int low, int high) { if (root null) { return null; } if (root.val low) { return trimBST(root.right, low, high); } else if (root.val high) { return trimBST(root.left, low, high); } else { root.left trimBST(root.left, low, high); root.right trimBST(root.right, low, high); return root; } }以上为记录分享用代码较差请见谅

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询