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

平台设计网站公司电话免费好用的crm软件

平台设计网站公司电话,免费好用的crm软件,WordPress评论后自动刷新,哪些公司做外贸网站目录 12.平衡二叉树 222.完全二叉树的节点个数 404.左叶子之和 思路参考:代码随想录 12.平衡二叉树 链接:110. 平衡二叉树 - 力扣(LeetCode) 题目:给定一个二叉树,判断它是否是 平衡二叉树 题解&…

目录

12.平衡二叉树

222.完全二叉树的节点个数

404.左叶子之和


思路参考:代码随想录

12.平衡二叉树

链接:110. 平衡二叉树 - 力扣(LeetCode)

题目:给定一个二叉树,判断它是否是 平衡二叉树  

题解:

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

2、如果当前传入节点为根节点的二叉树已经不是二叉平衡树了,还返回高度的话就没意义了。

如果已经不是二叉平衡树了,可以返回-1来标记已经不符合平衡树的规则了。

/*** 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 boolean isBalanced(TreeNode root) {return getHeight(root) != 1;}private int getHeight(TreeNode root){if(root == null){return 0;}int leftHeight=getHeight(root.left);if(leftHeight == -1){return -1;}int rightHeight=getHeight(root.left);if(rightHeight == -1){return -1;}if(Math.abs(leftHeight-rightHeight) > 1){return -1;}return Math.max(leftHeight,rightHeight)+1;}
}

222.完全二叉树的节点个数

链接:222. 完全二叉树的节点个数 - 力扣(LeetCode)

题目:

        给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。

完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层(从第 0 层开始),则该层包含 1~ 2h 个节点。

题解:

        在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层节点都集中在该层最左边的若干位置。若最底层为第h层,则该层包含1~2^(h-1)个节点。

        左子树的节点数+右子树的节点数+当前根节点。

        递归终止条件:空节点计数为0。

/*** 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 int countNodes(TreeNode root) {if(root == null){return 0;}return countNodes(root.left)+countNodes(root.right)+1;}
}

404.左叶子之和

链接:404. 左叶子之和 - 力扣(LeetCode)

题目:给定二叉树的根节点 root ,返回所有左叶子之和。

题解:

1.左叶子不是二叉树左侧节点

2.左叶子定义:节点A的左孩子不为空,且左孩子的左右孩子都为空(说明是叶子节点),那么A节点的左孩子为左叶子节点。

3.判断依据:如果该节点的左节点不为空,左节点的左节点不为空,左节点的右节点不为空,则该节点为左叶子

/*** 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 int sumOfLeftLeaves(TreeNode root) {//如果该节点的左节点不为空,左节点的左节点不为空,左节点的右节点不为空,则该节点为左叶子if(root == null) return 0;//计算左子树所有的左叶子之和int leftValue=sumOfLeftLeaves(root.left);//计算右子树所有的左叶子之和int rightValue=sumOfLeftLeaves(root.right);//计算当前节点左叶子的值int midValue=0;if(root.left != null && root.left.left == null && root.left.right == null){midValue= root.left.val;}int sum=midValue+leftValue+rightValue;return sum; }
}
http://www.dtcms.com/a/452656.html

相关文章:

  • 北京网站建设品牌达州城乡建设网站
  • 合肥网站建设yjhlw开源 网站开发框架
  • 做简单的网站程序员用的编程软件
  • h5响应式网站是什么关于做面包的网站
  • php做电商网站安全性如何做水果生意去那个网站
  • 手机网站 数据库网站的优化分析
  • 湖南省网站建设代做效果图的网站
  • 网站技术方案怎么写电子商务网站建设 李洪心
  • 瑞安做网站多少钱新北建设局网站
  • 网站建设流程讯息网站空间流量不够
  • app手机网站制作vue wordpress 主题
  • 无网站做cpa推广js跳转到别的网站
  • 国内外画画做的好网站长沙seo优化报价
  • 龙岩网站建设行情微管家平台
  • 什么网站是vue做的html5表白网页在线生成
  • 皇家梅陇公馆网站建设只做动漫的网站
  • 常州h5网站建设做的好的食用菌公司网站有
  • 个人做的网站制作旅游网站
  • 国外有趣的网站步骤的拼音
  • 重庆模板建站哪家好如何寻找seo网站建设客户
  • 做游戏ppt下载网站有哪些内容html5制作网站谁的好
  • wordpress发布网站江西网站建设价格
  • 网站备案需要多少时间wordpress访问过的页码不变色
  • 无锡网站推整合营销网络推广
  • 永安市建设局网站深圳营销型网站建设公司
  • 编程网站有哪些开福区城乡建设局门户网站
  • 广东省网站备案要多久做网站代码难么
  • 沈阳三好街做网站公司免费网页设计整套模板
  • 网站建设 搞笑笑话北京旧房改造装修哪家好
  • 怎样做一元购网站多页网站模板