이진트리의 모든 노드 값이 같다면 True, 다른 값이 존재한다면 False를 출력하라.
Ex)
[1,1,1,1,1,None,1] => True
[2,2,2,5,2] => False
가장 기본적인 DFS로, root부터 leaf까지 탐색하여 노드값을 리스트에 추가 후, 리스트를 집합으로 변환시켜 원소가 1개인지 확인하여 Bool값을 반환한다.
# class TreeNode(object):
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
def isUnivalTree(self, root):
vals = []
def dfs(node):
if node:
vals.append(node.val)
dfs(node.left)
dfs(node.right)
dfs(root)
return len(set(vals)) == 1