LeetCode 110. Balanced Binary Tree 递归求解
Posted bruce128
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 110. Balanced Binary Tree 递归求解相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode.com/problems/balanced-binary-tree/
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
判断一棵树是否是平衡二叉树。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; } }
以上是关于LeetCode 110. Balanced Binary Tree 递归求解的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 110. Balanced Binary Tree 递归求解
[LeetCode]题解(python):110 Balanced Binary Tree
leetcode-110. Balanced Binary Tree
LeetCode_110. Balanced Binary Tree