본문 바로가기
Programming/LeetCode

[LeetCode] Balanced Binary Tree (균형 이진 트리 확인 Python)

by 데이터현 2022. 4. 20.

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

 

Balanced Binary Tree - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

이진트리가 균형 잡힌 트리인지 확인하는 문제 -> 균형 잡혔단 뜻은 모든 노드의 서브 트리 간의 높이 차이가 1 이하

 

깔끔한 풀이

class Solution:
    def isBalanced(self, root):
        self.bal = True
        
        def dfs(node):
            if not node:
                return 0
                
            left = dfs(node.left)
            right = dfs(node.right)
            if abs(left - right) > 1:
                self.bal = False
            return max(left, right) + 1
        dfs(root)
        return self.bal

 

댓글