728x90
딕셔너리로 트리 생성하면 탐색이 편리하다.
class Node:
def __init__(self, val, left, right):
self.val = val
self.left = left
self.right = right
def preorder(node):
print(tree[node].val, end="")
if tree[node].left != '.':
preorder(tree[node].left)
if tree[node].right != '.':
preorder(tree[node].right)
def inorder(node):
if tree[node].left != '.':
inorder(tree[node].left)
print(tree[node].val, end="")
if tree[node].right != '.':
inorder(tree[node].right)
def postorder(node):
if tree[node].left != '.':
postorder(tree[node].left)
if tree[node].right != '.':
postorder(tree[node].right)
print(tree[node].val, end="")
import sys
sys.setrecursionlimit(10**6)
N = int(input())
tree = {}
for i in range(N):
val, l, r = input().split()
tree[val] = Node(val, l, r)
preorder('A')
print()
inorder('A')
print()
postorder('A')
'PS > Python' 카테고리의 다른 글
[BOJ_Python] 2644. 촌수계산 (0) | 2021.04.17 |
---|---|
[BOJ_Python] 7569. 토마토 (0) | 2021.04.17 |
[BOJ_Python] 14499. 주사위 굴리기 (0) | 2021.04.05 |
[BOJ_Python] 14500. 테트로미노 (0) | 2021.04.05 |
[BOJ_Python] 3190. 뱀 (0) | 2021.04.05 |
최근댓글