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

帝国行业网站模板网站如何做地面推广

帝国行业网站模板,网站如何做地面推广,文章列表页wordpress,免费行情的软件入口下载110 平衡二叉树 给定一个二叉树#xff0c;判断它是否是高度平衡的二叉树。 本题中#xff0c;一棵高度平衡二叉树定义为#xff1a;一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 给定二叉树 [1…110 平衡二叉树 给定一个二叉树判断它是否是高度平衡的二叉树。 本题中一棵高度平衡二叉树定义为一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 给定二叉树 [1,2,2,3,3,null,null,4,4] 返回 false 。 思路 参考 https://www.programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html#%E6%9C%AC%E9%A2%98%E6%80%9D%E8%B7%AF 强调一下概念 二叉树节点的深度指从根节点到该节点的最长简单路径边的条数。二叉树节点的高度指从该节点到叶子节点的最长简单路径边的条数。 但leetcode中强调的深度和高度很明显是按照节点来计算的如图 注意leetcode的题目中都是以节点为一度即根节点深度是1。 本题思路 递归 此时大家应该明白了既然要求比较高度必然是要后序遍历。 递归三步曲分析 明确递归函数的参数和返回值 参数当前传入节点。 返回值以当前传入节点为根节点的树的高度。 那么如何标记左右子树是否差值大于1呢 如果当前传入节点为根节点的二叉树已经不是二叉平衡树了还返回高度的话就没有意义了。 所以如果已经不是二叉平衡树了**可以返回-1 **来标记已经不符合平衡树的规则了。 def get_height(self, node): # 递归一: 传入当前节点(以当前节点为根节点) 返回值为int 就是子树高度明确终止条件 递归的过程中依然是遇到空节点了为终止返回0表示当前节点为根节点的树高度为0 if not node:return 0 # 递归二如果节点不存在 显然该节点的高度为0 明确单层递归的逻辑 如何判断以当前传入节点为根节点的二叉树是否是平衡二叉树呢当然是其左子树高度和其右子树高度的差值。 分别求出其左右子树的高度然后如果差值小于等于1则返回当前二叉树的高度否则返回-1表示已经不是二叉平衡树了。 严格按照 左右中 的写法 会更加清晰 # 单层递归逻辑 后序遍历思想 左右中 先分别求出其左右子树的高度 leftheight self.get_height(node.left) if leftheight -1: # 采用-1表示非平衡了 左return -1 rightheight self.get_height(node.right) if rightheight -1: # 采用-1表示非平衡了 右return -1 # 中 # 求左子树高度和其右子树高度的差值。分别求出其左右子树的高度然后如果差值小于等于1则返回当前二叉树的高度否则返回-1 if abs(leftheight-rightheight) 1: # 差值大于1return -1 else:return 1 max(leftheight, rightheight) # 一棵子树高度最终的 get_height 代码 def get_height(self, node): # 递归一: 传入当前节点(以当前节点为根节点) 返回值为int 就是子树高度if not node:return 0 # 递归二如果节点不存在 显然该节点的高度为0 # 单层递归逻辑 后序遍历思想 左右中 先分别求出其左右子树的高度leftheight self.get_height(node.left)if leftheight -1: # 采用-1表示非平衡了 左return -1rightheight self.get_height(node.right)if rightheight -1: # 采用-1表示非平衡了 右return -1# 中# 求左子树高度和其右子树高度的差值。分别求出其左右子树的高度然后如果差值小于等于1则返回当前二叉树的高度否则返回-1if abs(leftheight-rightheight) 1: # 差值大于1return -1else:return 1 max(leftheight, rightheight) # 一棵子树高度最后本题整体递归代码如下 class TreeNode(object):def __init__(self, val0, leftNone, rightNone):self.val valself.left leftself.right rightclass Solution(object):def isBalanced(self, root)::type root: TreeNode:rtype: bool# if not root:# return True 下面的递归函数 已经包含了 if self.get_height(root) ! -1: # 采用 -1 来标识return Trueelse:return False def get_height(self, node): # 递归一: 传入当前节点(以当前节点为根节点) 返回值为int 就是子树高度if not node:return 0 # 递归二如果节点不存在 显然该节点的高度为0 # 单层递归逻辑 后序遍历思想 左右中 先分别求出其左右子树的高度leftheight self.get_height(node.left)if leftheight -1: # 采用-1表示非平衡了 左return -1rightheight self.get_height(node.right)if rightheight -1: # 采用-1表示非平衡了 右return -1# 中# 求左子树高度和其右子树高度的差值。分别求出其左右子树的高度然后如果差值小于等于1则返回当前二叉树的高度否则返回-1if abs(leftheight-rightheight) 1: # 差值大于1return -1else:return 1 max(leftheight, rightheight) # 一棵子树高度
http://wiki.neutronadmin.com/news/104152/

相关文章:

  • 银川怎么做网站百度知道问答首页
  • 做pc端网站新闻宜兴网站开发
  • 魔站网站开发网站 开发逻辑
  • 怎么用ps做网站首页字天堂网
  • 网站由哪儿三部分组成哪里有网站设计公司
  • 朝阳企业网站建设方案wordpress主题首页问题
  • 提升网站打开速度系统app定制开发
  • 做网站哪种编程语言最好网站弹窗怎么做
  • 17岁高清免费观看完整版网站的结构与布局优化设计
  • 如何拿网站后台账号推广小程序拿佣金
  • 网站官网建设的价格种子搜索引擎在线
  • 做网站的app有什么作用wordpress 4.4 优化
  • 织梦网站图片设置多大wordpress新浪图床会挂吗
  • 一般购物网站项目网站建设 宁夏
  • 简述网站开发的基本原则众筹网站平台建设
  • 新建网站百度搜不到备案的网站名称能重复备案吗
  • 上海有名网站建站开发公司网站的seo 如何优化
  • 海口建设工程信息网站网站 数据备份
  • 制作网站的过程是对信息的可以免费进的服务器网站
  • 专注于响应式网站开发哈尔滨网站推广公司
  • 属于教育主管部门建设的专题资源网站是c2c网站管理系统下载
  • 介绍好的免费网站模板下载网站备案ip地址
  • 商务网站模板下载怎么创建一个自己的网站
  • 什么是云速建站服务视频拍摄和剪辑怎么学
  • 网站建设属什么合同企云网站建设
  • gta 买房网站建设中如何制作个人手机网站
  • 安防网站源码软件开发流程流程图
  • 网站框架模板广州冼村房价多少钱
  • 网站建设代码标准佛山有哪几个区
  • 高端网站设计公司排行榜动画制作软件排行榜