当前位置: 首页 > news >正文

济南pc网站建设公司wordpress设置专栏

济南pc网站建设公司,wordpress设置专栏,浙江网站改版设计公司,wordpress分享统计插件下载669.修剪二叉搜索树 这道题目需要考虑当前节点是否在[low,high]之间, 因为是平衡二叉树, 所以当当前节点值小于low时,那么其左节点肯定更小,因此删除该节点的方式是给root节点返回其右节点的递归,注意:这里…

669.修剪二叉搜索树

这道题目需要考虑当前节点是否在[low,high]之间,
因为是平衡二叉树,
所以当当前节点值小于low时,那么其左节点肯定更小,因此删除该节点的方式是给root节点返回其右节点的递归,注意:这里不是直接返回右节点,是因为在右子树中也有可能存在不满足条件的节点,需要继续递归排查;
当当前节点值大于high时,那么其右节点肯定更大,因此删除该节点的方式是给root节点返回其左节点的递归
如果root.val符合在[low,high]的区间内,其左右节点承接左右节点的返回值即可。
最终返回root。
代码如下:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode trimBST(TreeNode root, int low, int high) {if(root == null) return null;else if(root.val < low) return trimBST(root.right,low,high);else 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;}
}

108.将有序数组转换为二叉搜索树

每次取中间索引的值构造节点,利用递归构造平衡二叉搜索树。
要注意限定左右指针的大小条件:if(right < left) return null;

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode sortedArrayToBST(int[] nums) { if(nums.length == 0) return null;return build(nums,0,nums.length-1);}public TreeNode build(int[] nums,int left,int right){if(right < left) return null;int midIndex = left + ((right - left)>>1); TreeNode root = new TreeNode(nums[midIndex]);root.left = build(nums,left,midIndex-1);root.right = build(nums,midIndex+1,right);return root;}
}

538.把二叉搜索树转换为累加树

如果是一个数组[-10,-4,4,6,7,9]要计算每个位置的累加–>[12,22,26,22,16,9],可以定义一个pre,记录每一次前一个数的累加,然后到自身节点之后再加上自己本身的值。
那么这道题也可以在类中定义一个全局变量pre来记录每次累加的结果,然后通过右中左的顺序去便利,已以到使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和的目的:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {int pre = 0;public TreeNode convertBST(TreeNode root) {plusProcess(root);return root;}public void plusProcess(TreeNode root){//右中左遍历//终止条件if(root == null) return;//右plusProcess(root.right);//中pre += root.val;root.val = pre;//每次改变root节点的值//左plusProcess(root.left);}
}
http://www.yayakq.cn/news/712515/

相关文章:

  • vps能同时做网站同时做其它事吗如何进行seo
  • 可信网站认证不做typecho前端建站工具
  • 网站制作与美育融合手机主页
  • 一元云购网站怎么做织梦网站添加视频教程
  • 快速搭建外贸网站广州自适应网站建设
  • 织梦怎么做中英文双语网站网站建设及优化方案
  • 如何给网站做流量要建设一个网站需要准备些什么
  • 网站开发模板系统网站建设关键词优化价格
  • 游戏网站建设内容网站建设介绍文字
  • 备案的时候需要网站吗公司网站建设应注意
  • 网站怎么做seo上海浦东医院网站建设
  • 网站开发建设公司网上注册公司在哪个平台注册
  • 网站如何做反链网页编辑器哪个好
  • 建筑设计师专业网站江门网站建设报价
  • 高端大气的网站工业和信息化部电话
  • 网站中搜索栏怎么做阿里云免费网站备案
  • 广州网站设计建设公司网络技术推广服务
  • 方案库网站免费提交网址的网站
  • 可信验证网站重庆怎么制作网站?
  • 网站怎么描述湖州网站制作
  • hltm 做网站教程网络营销是团队还是个人
  • 财政局网站建设方案店铺设计案例
  • 前端做学校网站教务做平台的网站有哪些内容吗
  • 企业网站页面设计wordpress官网密码
  • 鹤壁做网站的联系方法品牌建设10步通达
  • 网站信息员队伍建设免费的个人简历模板在哪找
  • 免费html模板素材网站学校网站建设必要性
  • 徐州智能建站怎么做网站制作与app开发哪个要难一点
  • 网站建设免哪里可以引流到精准客户呢
  • 手机做任务网站有哪些内容南宁百度网站公司电话