Symmetrical Tree

Tiffany ·2024년 3월 8일
0

AlgoExpert

목록 보기
13/20

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
profile
Love what you do and don't quit.

0개의 댓글