55.2 平衡二叉树

NowCoder

题目描述

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

55.2 平衡二叉树 - 图1

解题思路

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

55.2 平衡二叉树 - 图2