[Python] 트리 순회

Saemi Min·2023년 2월 25일
0

BaekJoon

목록 보기
16/30
post-thumbnail

실버1

문제 1991

해당 문제 링크

업로드중..

정답

딕셔너리 사용, 재귀

## 트리 순회

n=int(input())
tree={} #딕셔너리

#트리 만들기
for _ in range(n):
    root, left, right = input().split()
    tree[root] = [left, right] #{"root":("left", "right")}

def preorder(root):
    if root!= '.':
        print(root, end='') #root
        preorder(tree[root][0]) #left
        preorder(tree[root][1]) #right
    
def inorder(root):
    if root!= '.':
        inorder(tree[root][0]) #left
        print(root, end='') #root
        inorder(tree[root][1]) #right

def postorder(root):
    if root!= '.':
        postorder(tree[root][0]) #left
        postorder(tree[root][1]) #right
        print(root, end='') #root

preorder('A')
print()
inorder('A')
print()
postorder('A')
profile
I believe in myself.

0개의 댓글