博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode------Balanced Binary Tree
阅读量:6432 次
发布时间:2019-06-23

本文共 1354 字,大约阅读时间需要 4 分钟。

标题:

Balanced Binary Tree

通过率: 32.3%
难度: 简单

Given a binary tree, determine if it is height-balanced.

For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.

平衡二叉树。这个可以由二叉树深度来计算,再二叉树深度计算中每次进行深度比较取深度较深的一个,那么平衡二叉树再比较深度时就是A-B绝对值超过一的话就不是二叉树了。立马返回-1 ,当左右子树有一边深度值是-1时立马终止,返回此树非平衡二叉树,如果A-B绝对值总是在0,1,-1三个数之中,那么继续深度递归判断,具体代码如下:

1 /** 2  * Definition for binary tree 3  * public class TreeNode { 4  *     int val; 5  *     TreeNode left; 6  *     TreeNode right; 7  *     TreeNode(int x) { val = x; } 8  * } 9  */10 public class Solution {11     public boolean isBalanced(TreeNode root) {12         if(root==null) return true;13         if(height(root)==-1) return false;14         else return true;15         16     }17     public int height(TreeNode root){18         if(root==null) return 0;19         int depth1=0;20         int depth2=0;21         depth1=height(root.right);22         depth2=height(root.left);23         if(depth1==-1||depth2==-1) return -1;24         if((depth1-depth2>1 )||(depth1-depth2)<-1)25             return -1;26         else{27              if(depth1>depth2)28             return depth1+1;29             else30                 return depth2+1;31         }32             33     }34 }

 

转载于:https://www.cnblogs.com/pkuYang/p/4171536.html

你可能感兴趣的文章
如何精简企业主数据“裹脚布”
查看>>
Pointer on C
查看>>
& 号和管道符号(|)在不同场景下的使用方法
查看>>
curl 浏览器模拟请求实战
查看>>
多个VLAN中的vrrp备份组配置举例
查看>>
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(六)
查看>>
interlib在tomcat7.0的安装
查看>>
水晶报表在大型WEB内部管理系统里的滑铁卢
查看>>
我的友情链接
查看>>
Git学习
查看>>
trove 基于 centos7 制作 mysql5.6 镜像
查看>>
结合i节点和数据块分析linux中软链接和硬链接的区别
查看>>
Heartbeat crm的配置
查看>>
Stream
查看>>
我的友情链接
查看>>
Windows Server 2012_Install_Guide
查看>>
ISA Server搭建站点对站点×××
查看>>
我的友情链接
查看>>
超大规模数据中心:给我一个用整机柜的理由先
查看>>
执行命令取出linux中eth0的IP地址
查看>>