JZ-039-平衡二叉樹

雄獅虎豹發表於2021-12-28

平衡二叉樹

題目描述

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。

  • 在這裡,我們只需要考慮其平衡性,不需要考慮其是不是排序二叉樹

題目連結: 平衡二叉樹

程式碼

/**
 * 標題:平衡二叉樹
 * 題目描述
 * 輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。
 * 在這裡,我們只需要考慮其平衡性,不需要考慮其是不是排序二叉樹
 * 題目連結:
 * https://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222?tpId=13&&tqId=11192&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
 */
public class Jz39 {

    private boolean isBalanced = true;

    public boolean isBalanced_Solution(TreeNode root) {
        height(root);
        return isBalanced;
    }

    /**
     * 遞迴
     *
     * @param root
     * @return
     */
    private int height(TreeNode root) {
        if (root == null || !isBalanced) {
            return 0;
        }
        int left = height(root.left);
        int right = height(root.right);
        if (Math.abs(left - right) > 1) {
            isBalanced = false;
        }
        return 1 + Math.max(left, right);
    }

    public static void main(String[] args) {

    }
}
【每日寄語】 做個內心陽光的人。不憂傷,不心急。堅強、向上,靠近陽光。

相關文章