•
문제 설명 : 제공된 트리를 사용하여 최종 연산 값을 구한다.
•
풀이 방법
◦
현 노드에 따라 OR/AND 연산을 선택
•
시간복잡도 :
•
성공 코드
# 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
복사