博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序员面试经典--二叉树平衡检查
阅读量:5207 次
发布时间:2019-06-14

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

程序员面试经典--二叉树平衡检查

 

题目描述

实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1。

给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡。

 

/*struct TreeNode {    int val;    struct TreeNode *left;    struct TreeNode *right;    TreeNode(int x) :            val(x), left(NULL), right(NULL) {    }};*/class Balance {public:    bool flag;     bool isBalance(TreeNode* root) {        // write code here        flag = true;         GetDepth(root);         return flag;     }     int GetDepth(TreeNode* root){        if(flag == false){            return 0;         }        if(root == NULL){            return 0;         }else if(root->left == NULL && root->right == NULL){            return 1;         }        int lf = GetDepth(root->left);         int rg = GetDepth(root->right);         if(abs(lf - rg) > 1){            flag = false;         }        return max(lf + 1, rg + 1);     }};

 

转载于:https://www.cnblogs.com/zhang-yd/p/7136637.html

你可能感兴趣的文章
java-斐波那契数列的解法
查看>>
rackup工具
查看>>
Linux operating system (Ubuntu) 学习-1
查看>>
ajax-原生写法步骤
查看>>
.Net语言 APP开发平台——Smobiler学习日志:如何在手机上实现饼图图表
查看>>
svn完整备份迁移
查看>>
Python字典实现分析
查看>>
jenkins+testNG
查看>>
Java自定义范型的应用技巧
查看>>
[洛谷1485] 火枪打怪
查看>>
白话经典算法系列之六 快速排序 快速搞定
查看>>
错了:用流量能够放肆,有wifi则要节制
查看>>
CSS渐变字体、镂空字体、input框提示信息颜色、给图片加上内阴影、3/4圆
查看>>
https://zhidao.baidu.com/question/362784520674844572.html
查看>>
第八周
查看>>
my.cnf_For5.7_注释版
查看>>
【MFC 学习笔记】CFile读写文件
查看>>
Java 的IO操作初步(一)
查看>>
关于VGA时序的相应计算方式
查看>>
电感和感抗
查看>>