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

商城网站建设合同济南seo优化公司

商城网站建设合同,济南seo优化公司,新公司网上核名入口,幼儿教育网站源码目录题目分析递归法题外话题目来源 110. 平衡二叉树 题目分析 平很二叉树:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 二叉树节点的深度和二叉树节点的高度 递归法 递归三步曲 1.明确递归函数的参数和返回值 参数:当前传入节点。 返回值…

目录

    • 题目分析
    • 递归法
    • 题外话

题目来源
110. 平衡二叉树

题目分析

平很二叉树:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。
二叉树节点的深度和二叉树节点的高度
在这里插入图片描述

递归法

递归三步曲

  • 1.明确递归函数的参数和返回值

参数:当前传入节点。
返回值:以当前传入节点为根节点的树的高度。
那么如何标记左右子树是否差值大于1呢?
如果当前传入节点为根节点的二叉树已经不是二叉平衡树了,还返回高度的话就没有意义了。
所以如果已经不是二叉平衡树了,可以返回-1 来标记已经不符合平衡树的规则了。
代码如下:

int getHeight(TreeNode root)
  • 2.明确终止条件

递归的过程中依然是遇到空节点了为终止,返回0,表示当前节点为根节点的树高度为0
代码如下:

        if(root == null){return 0;}
  • 3.明确单层递归的逻辑

如何判断以当前传入节点为根节点的二叉树是否是平衡二叉树呢?当然是其左子树高度和其右子树高度的差值。
分别求出其左右子树的高度,然后如果差值小于等于1,则返回当前二叉树的高度,否则返回-1,表示已经不是二叉平衡树了。
代码如下:

        int leftHeight = getHeight(root.left);   //左if(leftHeight == -1){return -1;}int rightHeight = getHeight(root.right);   //右if(leftHeight == -1){return -1;}int result;if(Math.abs(leftHeight-rightHeight)>1){        //中return -1;}else{result = Math.max(leftHeight,rightHeight)+1;}return result;

整体递归代码如下:

class Solution {public boolean isBalanced(TreeNode root) {return getHeight(root) != -1;}public static int getHeight(TreeNode root){if(root == null){return 0;}int leftHeight = getHeight(root.left);   //左if(leftHeight == -1){return -1;}int rightHeight = getHeight(root.right);   //右if(rightHeight == -1){return -1;}int result;if(Math.abs(leftHeight-rightHeight)>1){        //中return -1;}else{result = Math.max(leftHeight,rightHeight)+1;}return result;}
}

在这里插入图片描述

题外话

很多初学者会在想,不要这个判断行不行,或者这个判断的意义是什么
在这里插入图片描述
我们先去掉两个if运行
在这里插入图片描述
当发现一个节点为-1(第二行),那么递归会回到递归初始,一直为-1然后进行if判断直接返回-1结果,结束了本次方法,右孩子就可以不用判断了
在这里插入图片描述

http://www.ds6.com.cn/news/31283.html

相关文章:

  • 河南免费网站建设什么是关键词推广
  • 摄影网站建设策划书关键词排名优化怎么样
  • 沈阳建设网站百度指数对比
  • 做企业网站能赚钱吗?google广告投放
  • 佛山企业网站开发找竞价托管公司
  • wordpress只有vip会员下载广州seo推广培训
  • 江苏省住房和建设厅网站网络推广平台大全
  • 做推文的网站知乎客户引流的最快方法是什么
  • 济南学生网站建设求职软件外包公司有前途吗
  • 中国航空技术北京有限公司河北seo技术
  • 湖南有线郴州网络有限公司seo招聘要求
  • 网站建设和网络优化什么叫做关键词
  • 移动web网站开发快排seo排名软件
  • 信阳市人民政府领导信息公开宜昌seo
  • 网站建设后台怎么弄广告联盟论坛
  • 做音乐 交流网站网站制作流程和方法
  • 科技公司排名淘宝关键词优化怎么弄
  • 帮别人做网站的合作协议自助建站的优势
  • 信息科技公司网站怎么做营销网页
  • ubuntu安装 wordpress网站编辑seo
  • 企业网站页面图片保定seo建站
  • 怎样做无水印视频网站郑州网站推广电话
  • wordpress 焦点图及调用代码关键词优化资讯
  • 深圳网站建设如何制作中央常委成员名单
  • 定陶网站建设seo的工作内容
  • 获取iis中网站日志文件保存路径做公司网站
  • 个人做地方民生网站中小企业管理培训课程
  • 山西建设局网站首页内蒙古seo优化
  • 公司备案证查询网站查询网站查询二级分销小程序
  • 江苏住房与城乡建设部网站教育机构排名