二叉树平衡检查

    技术2022-07-11  76

    题目来源

    二叉树平衡检查

    题目描述

    实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1。 给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡。

    题目解答

    import java.util.*; /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } }*/ public class Balance { public boolean isBalance(TreeNode root) { if(root==null){ return true; } int leftHeight=getTreeHeight(root.left); int rightHeight=getTreeHeight(root.right); if(Math.abs(leftHeight-rightHeight)>1){ return false; } return isBalance(root.left)&&isBalance(root.right); } public int getTreeHeight(TreeNode root){ if(root==null){ return 0; } return Math.max(getTreeHeight(root.left),getTreeHeight(root.right))+1; } }
    Processed: 0.011, SQL: 9