【Leetcode刷题篇】剑指offer55-平衡二叉树
发布日期:2021-06-29 15:33:46
浏览次数:2
分类:技术文章
本文共 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; }}
转载地址:https://codingchaozhang.blog.csdn.net/article/details/109728855 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月19日 15时40分10秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
又一浏览器集成IPFS,分布式影响力再扩大
2019-04-30
IPFS为何被视为“明天的网络”?
2019-04-30
ubuntu14.04升级的道与术
2019-04-30
ubuntu 16.04在CPU 模式下安装arrayfire
2019-04-30
wav2letter++ 环境安装记录
2019-04-30
语音特征提取学习笔记--对比kaldi、htk、w2l的语音提取过程。
2019-04-30
wav2letter++ 第一次training 日志
2019-04-30
从wav2letter中提取语音属性的代码
2019-04-30
用于分析tensorflow 网络图的工具对比介绍
2019-04-30
WINDOWS UBUNTU18.04lts 双系统安装
2019-04-30
tensorflow mini batch 训练中线程和队列数据输入的问题
2019-04-30
神经网络优化学习思考
2019-04-30
vue单页面组件
2019-04-30
vue反向代理使用
2019-04-30
vue路由配置解析
2019-04-30
es6常用语法
2019-04-30
js 常见错误(待补充)
2019-04-30
moment插件使用
2019-04-30
react
2019-04-30