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

政府网站机房 托管百度问答下载安装

政府网站机房 托管,百度问答下载安装,如何开一个微信公众号,如何拷贝服务器里面网站做备份写在前面:祝大家新年快乐!!!2025年快乐,2024年拜拜~~~ 《代码随想录》二叉树:修剪二叉搜索树 本题的完整题目如下: 本题的完整思路如下: 1.本题使用递归进行求解,所以分…

写在前面:祝大家新年快乐!!!2025年快乐,2024年拜拜~~~

《代码随想录》二叉树:修剪二叉搜索树

本题的完整题目如下:

image.png

本题的完整思路如下: 1.本题使用递归进行求解,所以分为三部曲: 2.第一步:确定递归函数的参数和返回值:参数是二叉树的节点和要删除节点的范围。所以使用主方法作为递归函数。 3.第二步:确定递归的终止条件:当当前节点为空时,返回null 3.第三步:确定单次递归函数的逻辑:当当前节点的值小于下限时,说明当前节点的左子树都不满足要求,所以递归处理当前节点的右子树即可。当当前节点的值大于上限时,说明只有当前节点的右子树都不满足要求,左子树才可能会有要保留的节点,那么此时递归当前节点的左子树即可。最后一种情况就是当前节点满足给出的范围,那么此时该节点需要被保留,不对当前节点进行任何处理,所以递归当前节点的左子树并赋值给当前节点的左节点,再递归当前节点的右子树,并赋值给当前节点的右节点。 4.本题的难点是,当有一个子树都不满足要求时,则直接处理该节点的另一个子树即可。当当前节点满足要求时,不需要对当前节点进行处理,递归处理当前节点的左子树和右子树。 本题的完整代码如下:

//669. 修剪二叉搜索树
class Solution37 {public 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;}}
}

《代码随想录》二叉树:将有序数组转换为二叉搜索树

本题的完整题目如下:

image.png

本题的完整思路如下: 1.本题是将有序数组转换为二叉搜索树,所以数组中间的元素就是根节点的值,将数组将中间元素分开,分为左右两个部分,左边的就是左子树的部分,右边的是右子树的部分。所以也是使用递归来做: 2.第一步:确定递归函数的参数和返回值:参数是原数组以及左边界和右边界,返回值是二叉树的根节点。 3.第二步:确定递归函数的终止条件:当左边界大于等于右边界时,终止。 3.第三步:确定单次递归函数的逻辑:首先取出当前边界范围内数组的中间的索引值mid。将该索引值对应的元素作为值创建一个节点,该节点的左子树为递归结果,其中递归函数的参数为:left=left,right=mid-1。该节点的右子树为递归结果,其中递归参数是:left=mid+1,right=right。最后返回当前节点。 4.本题也较为难,需要使用IDEA debug一下该方法的递归过程,很难想到最后是如何构建该二叉搜索树的。 本题的完整代码如下:

//108.将有序数组转换为二叉搜索树
class Solution38 {public TreeNode sortedArrayToBST(int[] nums) {return sorted(nums, 0, nums.length - 1);}public TreeNode sorted(int[] nums, int left, int right) {if(left > right){return null;}int mid = left + (right - left) / 2;TreeNode root = new TreeNode(nums[mid]);root.left = sorted(nums, left, mid -1);root.right = sorted(nums, mid + 1, right);return root;
​}
}

《代码随想录》二叉树:把二叉搜索树转换为累加树

本题的完整题目如下:

image.png

本题的完整思路如下: 1.首先,本题也是使用递归进行求解。 2.第一步:确定递归函数的参数和返回值:参数是二叉树节点,返回值二叉累加树的根节点,定义一个全局变量,记录累计值,所以使用主方法作为递归函数即可。 2.第二步:确定递归函数的终止条件:当当前节点为空时,返回。 3.第三步:确定单次递归函数中的逻辑:因为是二叉搜索树,右子树的左右节点都比左子树大,所以先处理右子树。所以递归当前节点的右子树,接着将当前节点的值累加到全局变量中。并将该值赋值给当前节点的值。接着,递归处理左子树即可。最后返回节点。 4.本题重点是,先处理右子树,并记录累加和,接着赋值,再处理左子树。思路简单,但是处理起来还是很难想到递归的过程。 本题的完整代码如下:

//538.把二叉搜索树转换为累加树
class Solution39 {
    int sum = 0;
    public TreeNode convertBST(TreeNode root) {
        if(root == null){
            return root;
        }
        convertBST(root.right);
        sum += root.val;
        root.val = sum;
        convertBST(root.left);
        return root;
    }
}

http://www.yidumall.com/news/66801.html

相关文章:

  • 西安十强互联网站建设公司广安百度推广代理商
  • 汇天网络科技有限公司独立站优化
  • 外国人做的中国字网站抖音seo是什么
  • 海安网站开发沈阳cms建站模板
  • 郑州网站搭建的公司怎样在百度上发布信息
  • 网络营销做的比较好的企业厦门seo排名
  • 国外手机设计网站网络推广公司可不可靠
  • dark ui wordpressseo网站营销推广
  • 卓进网站平台广告推广
  • 朔州做网站的品牌活动策划
  • wordpress app下载模板宁德seo推广
  • 2016网站建设报价表培训学校管理制度大全
  • 自贡做网站的公司企业高管培训课程有哪些
  • 微信编辑器做网站网站设计公司排行榜
  • 做电影网站教程色盲测试图 考驾照
  • 制作手机wap网站工具站长工具seo优化
  • wordpress 制作app湖南竞价优化哪家好
  • 谁帮58同城做的网站贴吧推广400一个月
  • wordpress 登陆信息广州关于进一步优化疫情防控措施
  • 东营做网站的公司泉州网站关键词排名
  • 石家庄小学网站建设搜索引擎优化的各种方法
  • 可以做免费广告的网站软文营销写作技巧
  • 1 设计一个企业网站优化水平
  • WordPress如何设置站点名称关键字有哪些
  • 外贸网站建站j关键词排名工具有哪些
  • oss如何做网站媒体代发网站
  • 免费做网站靠谱么qq群怎么优化排名靠前
  • 做独立网站需要注意些什么手续排名优化培训
  • 界面设计作品seo站群优化
  • 做援交的网站佛山网络公司 乐云seo