剑指offer_平衡二叉树

题目描述

输入一棵二叉树,判断该二叉树是否是平衡二叉树。

平衡二叉树左右子树高度差不超过 1。

 

 解题思路,和上题的深度递归的一样,然后标志一个位置。

 1 public class Solution {
 2     boolean flag = true;
 3     public boolean IsBalanced_Solution(TreeNode root) {
 4         depth(root);
 5         return flag;
 6     }
 7     public int depth(TreeNode root){
 8         if(root==null||!flag) return 0;
 9         if(Math.abs(depth(root.left)-depth(root.right))>1) flag = false;
10         return 1+Math.max(depth(root.left),depth(root.right));
11     }
12 }

 

posted @ 2019-09-12 09:33  chyblogs  阅读(91)  评论(0)    收藏  举报