安全プランを証明するために39平衡二分木

安全プランを証明するために39平衡二分木

タイトル

入力バイナリツリーは、バイナリツリーは、バランスの取れた二分木か否かが判断されます。

思考

レイジーが戻る前に、左と右のサブツリーの深さを比較し、深さを求めて、前の質問のコードで、継続的な差が1より大きい場合、結果はfalseに設定されています。

コード

  public class TreeNode {

    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
      this.val = val;

    }

  }

  boolean ans = true;

  public int TreeDepth(TreeNode root) {
    if (root == null) {
      return 0;
    }
    int left = TreeDepth(root.left);
    int right = TreeDepth(root.right);
    if (Math.abs(left - right) > 1) {
      ans = false;
    }
    return Math.max(left, right) + 1;
  }

  public boolean IsBalanced_Solution(TreeNode root) {
    int i = TreeDepth(root);
    return ans;
  }

おすすめ

転載: www.cnblogs.com/blogxjc/p/12412036.html