Skip to content

Files

Latest commit

 

History

History
35 lines (31 loc) · 960 Bytes

0110. Balanced Binary Tree.md

File metadata and controls

35 lines (31 loc) · 960 Bytes

Trees

Screen Shot 2023-03-11 at 6 36 04 PM Screen Shot 2023-03-11 at 6 36 15 PM

/**
 * Definition for a binary tree node.
 * function TreeNode(val, left, right) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.left = (left===undefined ? null : left)
 *     this.right = (right===undefined ? null : right)
 * }
 */
/**
 * @param {TreeNode} root
 * @return {boolean}
 */
var isBalanced = function(root) {
    let balanced = true;
    dfs(root);
    return balanced;

    function dfs(root) {
        if(!root) return 0;
        let left = dfs(root.left);
        let right = dfs(root.right);
        if(Math.abs(left - right) > 1) {
            balanced = false;
        }
        return Math.max(left, right) + 1;
    }
};