boj 1991-ツリー


質問する


https://www.acmicpc.net/problem/1991

コード#コード#

import sys
input = sys.stdin.readline

class node:
    def __init__(self, item, left,right):
        self.item = item
        self.left = left
        self.right = right

def preorder(node):
    print(node.item, end='')
    if node.left != '.':
        preorder(tree[node.left])
    if node.right != '.':
        preorder(tree[node.right])

def inorder(node):
    if node.left != '.':
        inorder(tree[node.left])
    print(node.item, end='')
    if node.right != '.':
        inorder(tree[node.right])

def postorder(node):
    if node.left != '.':
        postorder(tree[node.left])
    if node.right != '.':
        postorder(tree[node.right])
    print(node.item, end='')

n = int(input())
tree={}
for _ in range(n):
    i,l,r = input().split()
    tree[i] = node(i,l,r)

preorder(tree['A'])
print()
inorder(tree['A'])
print()
postorder(tree['A'])

説明:


このツリーの各ノードを実装するために、独自(item)、左側サブ、および右側サブを持つclassを作成します.