LeetCode:110.平衡二叉树

打印 上一主题 下一主题

主题 895|帖子 895|积分 2685

跟着carl学算法,本系列博客仅做个人纪录,发起大家都去看carl本人的博客,写的真的很好的!
代码随想录
    LeetCode:110.平衡二叉树
给定一个二叉树,判断它是否是
平衡二叉树
示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:true
示例 2:

输入:root = [1,2,2,3,3,null,null,4,4]
输出:false
示例 3:
输入:root = []
输出:true
  在一个递归里面即取求高度也去判断是否平衡
  1.         public boolean isBalanced(TreeNode root) {
  2.         return getHeight(root) != -1;
  3.     }
  4.     private int getHeight(TreeNode root) {
  5.         if (root == null)
  6.             return 0;
  7.         int leftHeight = getHeight(root.left);
  8.         if (leftHeight == -1)
  9.             return -1;
  10.         int rithtHeight = getHeight(root.right);
  11.         if (rithtHeight == -1)
  12.             return -1;
  13.         int res = 0;
  14.         if (Math.abs(leftHeight - rithtHeight) > 1)
  15.             return -1;
  16.         else
  17.             return 1 + Math.max(leftHeight, rithtHeight);
  18.     }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

三尺非寒

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表