博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
38平衡二叉树
阅读量:4322 次
发布时间:2019-06-06

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

题目描述

输入一棵二叉树,判断该二叉树是否是平衡二叉树。
 
思路:
这题是基于上一题的求二叉树的深度写出来的代码,记住二叉树的每次递归返回的是啥很关键,
 
这题自己理解的是调用helper函数返回高度,但是用了-1,只要不满足二叉树的要求就返回-1,这个函数是求高度的,本质还是按照写高度的那个函数那么写,但是提前处理了有问题就返回-1这种判断情况。
 
class Solution {public:    int helper(TreeNode* pRoot){        if(pRoot == nullptr){            return 0;        }        int left = helper(pRoot -> left);        int right = helper(pRoot -> right);        if(left == -1 || right == -1 || abs(left - right) > 1){            return -1;        }                return max(left,right) + 1;    }    bool IsBalanced_Solution(TreeNode* pRoot) {        if(pRoot == nullptr){            return true;        }        int judge = helper(pRoot);        if(judge == -1){            return false;        }        return true;    }};

 

转载于:https://www.cnblogs.com/dingxiaoqiang/p/8196038.html

你可能感兴趣的文章
Rails--bundle exec rake db:migrate
查看>>
深度优先搜索 之 CODE[VS] 1116 四色问题
查看>>
浏览器渲染过程
查看>>
js遍历Object所有属性
查看>>
再也不学AJAX了!(三)跨域获取资源 ③ - WebSocket & postMessage
查看>>
pycharm设置python文件颜色
查看>>
不换行输出的两种方式
查看>>
贵在坚持不懈
查看>>
hdu 1251 统计难题
查看>>
java中关于String 类型数据 的存储方式
查看>>
javascript中的with语句
查看>>
常用设计模式:装饰者模式
查看>>
python接口自动化--get请求
查看>>
ajax 上传文件
查看>>
lintcode-easy-Flatten Binary Tree to Linked List
查看>>
从远程队列中读取消息
查看>>
typescript 接口的新认识
查看>>
java常见面试题及三大框架面试
查看>>
懒惰的肥兔博文导读
查看>>
[db] mongodb 存取修改简单小实例
查看>>