Search

Evaluate Boolean Binary Tree

문제 설명 : 제공된 트리를 사용하여 최종 연산 값을 구한다.
풀이 방법
현 노드에 따라 OR/AND 연산을 선택
시간복잡도 : O(N)O(N)
성공 코드
# 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 evaluateTree(self, root: Optional[TreeNode]) -> bool: if root.left == None and root.right == None: return root.val # Leaf 노드가 아닌 경우, 2/3 일경우로 연산 if root.val == 2: return self.evaluateTree(root.left) or self.evaluateTree(root.right) elif root.val == 3: return self.evaluateTree(root.left) and self.evaluateTree(root.right)
Python
복사