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

泰安网站建设定制公司成都建设网站的公司

泰安网站建设定制公司,成都建设网站的公司,石家庄做手机网站推广,四川省铁路建设有限公司网站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/974825/

相关文章:

  • 中山网站制作网页小企业如何优化网站建设
  • 个人网站设计师做英雄联盟网站的图片素材
  • 网站建设维护工作总结网站建设优化及推广
  • 专门教ps的网站技术支持 贵阳贵阳网站建设
  • 企业网站建设费用 珠海上海小程序设计
  • 2015年做那些网站致富界面设计好看的网站
  • 做网站发违规内容 网警抓不抓wordpress滑动注册
  • 怎么创建免费网站吗asp网站 底部版权所有
  • 建设旅游网站的目的制作图片的软件叫什么
  • 百度怎样可以搜到自己的网站如何更改网站的关键词
  • 网站开发要学什么语言全能浏览器
  • 长沙seo优化方案湖州seo排名
  • 优化网站建设价格营销型网站设计
  • 安防行业网站建设方案能在线做英语题目的网站
  • 文创设计网站网站规划与网页设计第四版电子书
  • 网站写作赚钱北京vi设计公司价格
  • dw做网站视频教程自己做的网站可以买东西吗
  • 在阿里巴巴网站上怎么做贸易网站建设销售人员培训教程
  • 中国机械加工网18易8下4拉hu影响seo排名的因素有哪些
  • 建设自己网站网站建设汇报书 ppt
  • 乘风专业建站无锡手机网站制作
  • 来年做那些网站能致富重庆建设注册执业中心网站
  • 天津网站制作费用想做分销商有什么平台
  • 做壁纸壁的网站有什么区别wordpress主题yeti1.9.2
  • 在哪做网站建设平面设计图片创意手绘
  • 高大上 网站电商美工素材网站
  • 音乐网站建设的意义法治与安全做讲座网站
  • 张家界酒店网站建设网站建设的空间是什么
  • 河间网站制作什么网站可以做字体效果
  • 闸北区网站建设网页设文档做网站