LeetCode 110. Balanced Binary Tree 귀속 구해

1529 단어
제목 링크:https://leetcode.com/problems/balanced-binary-tree/ 

110. Balanced Binary Tree

My Submissions
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
Discuss
한 그루의 나무가 균형 잡힌 두 갈래 나무인지 아닌지를 판단하다.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;
	}
}

좋은 웹페이지 즐겨찾기