题目链接:https://leetcode.com/problems/balanced-binary-tree/
110. Balanced Binary Tree
Question
Total Accepted: 97926 Total
Submissions: 292400 Difficulty: Easy
Given a binary tree, determine if it is height-balanced.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.
Subscribe to see which companies asked this question
Show Tags
Show Similar Problems
Have you met this question in a real interview?
Yes
No
判断一棵树是否是平衡二叉树。BST的递归定义:当一棵树的左右两棵子树的高度只差不超过1,那么该树是平衡二叉树。
用后根遍历求解。先计算两棵子树的高度差。
我的AC代码
public class BalancedBinaryTree { static boolean ok = true; public static void main(String[] args) { TreeNode n1 = new TreeNode(1); TreeNode n2 = new TreeNode(2); n1.left = n2; System.out.println(isBalanced(n1)); } public static boolean isBalanced(TreeNode root) { ok = true; dfs(root); return ok; } public static int dfs(TreeNode root) { if(root == null || !ok) return 0; int ha = dfs(root.left); int hb = dfs(root.right); if(Math.abs(ha - hb) > 1) ok = false; return Math.max(ha, hb) + 1; } }
时间: 2024-12-05 23:05:10