leetcode#110 Balanced Binary Tree - 다시풀기

정은경·2022년 6월 7일
0

알고리즘

목록 보기
75/125

1. 문제

2. 나의 풀이

2-1. leaf node의 height의 차가 1이하인지 체크

3. 남의 풀이

3-1. 재귀를 이용하여 작성

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def checkdepth(self,root : TreeNode) -> int:
        if root : 
            left = self.checkdepth(root.left)
            if left == -1 :
                return -1
            right = self.checkdepth(root.right)
            if right == -1 :
                return -1
            if abs(left-right) > 1 :
                return -1
            return max(left,right) +1
        else : 
            return 0
        return count
    def isBalanced(self, root: TreeNode) -> bool:
        res = self.checkdepth(root)
        return False if res == -1 else True
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글