博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Leetcode刷题篇】剑指offer55-平衡二叉树
阅读量:1886 次
发布时间:2019-04-26

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

题目:输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过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 static class ReturnData{
private boolean isB ; private int h; public ReturnData(boolean isB,int h){
this.isB = isB; this.h = h; } } // 迭代判断 public static ReturnData process(TreeNode root){
if(root==null){
return new ReturnData(true,0); } ReturnData leftData = process(root.left); if(!leftData.isB){
return new ReturnData(false,0); } ReturnData rightData = process(root.right); if(!rightData.isB){
return new ReturnData(false,0); } if(Math.abs(rightData.h-leftData.h)>1){
return new ReturnData(false,0); } return new ReturnData(true,Math.max(rightData.h,leftData.h)+1); } public boolean isBalanced(TreeNode root) {
return process(root).isB; }}

转载地址:http://xzwdf.baihongyu.com/

你可能感兴趣的文章
构造方法常见问题总结
查看>>
package和import应用的常见问题
查看>>
static关键字的应用
查看>>
关于Objecg的常见问题
查看>>
关于单例模式的常见问题
查看>>
IDEA创建直接创建spring项目失败:下载失败 ‘https://repo1.maven.org/maven2/org/springframework/spring-aop/5.2.
查看>>
iOS推送证书过期处理,极光推送
查看>>
QT数据类型转换篇
查看>>
QT读写文件篇
查看>>
QT UDP应用篇
查看>>
Laravel 安装笔记 Star.hou
查看>>
Laravel配置开发、测试、预上线、正式环境--Star.hou
查看>>
Laravel配置系统默认Log路径--Star.hou
查看>>
Laravel文件系统,自定义日志文件、管理文件--Star.hou
查看>>
Paypal Applications&AccessToken&Sandbox笔记--Star.Hou
查看>>
Thinkphp3.2 修改session存储驱动
查看>>
Wamp PHP5.5.12安装Redis扩展--Star.Hou
查看>>
Spring Boot的基础知识
查看>>
java的多态
查看>>
Mysql,Oracle,Nosql非关系型数据库
查看>>