
recursive 방법으로는 아직 방법이 떠오르지 않아 구현하지 못하였다. 시간 날때 해보자.
# This is an input class. Do not edit.
class BinaryTree:
def __init__(self, value, left=None, right=None):
self.value = value
self.left = left
self.right = right
def symmetricalTree(tree):
if not tree:
return True
stack = [(tree.left, tree.right)]
while stack:
left, right = stack.pop()
if not right and not left:
continue
if not left or not right:
return False
if right.value != left.value:
return False
stack.append([left.left, right.right])
stack.append([left.right, right.left])
return True