欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LeetCode 平衡二叉树

程序员文章站 2022-02-19 06:33:42
...

https://leetcode-cn.com/problems/balanced-binary-tree/description/

我的解决方案:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public int depth(TreeNode root) {
        if(root==null) return 0;
        int res = 1;
        return 1+Integer.max(depth(root.left),depth(root.right));
    }
    public boolean isBalanced(TreeNode root) {
        //这道题应该也是使用递归来做
        //计算左右子树的深度
        if(root==null) return true;
        if(Math.abs(depth(root.left)-depth(root.right))>1)
            return false;
        return isBalanced(root.left)&&isBalanced(root.right);
    }
}

我提交的时候,耗时是当前最短的