#50537: python第六名


11155088@gs.hs.ntnu.edu.tw (ace1110)

學校 : 不指定學校
編號 : 298370
來源 : [118.169.28.170]
最後登入時間 :
2025-09-24 21:58:03

class TreeNode:
    def __init__(self, value):
        self.value = value
        self.left = None
        self.right = None

def build_tree(numbers):
    root = TreeNode(numbers[0])
    for num in numbers[1:]:
        current = root
        while True:
            if num < current.value:
                if current.left:
                    current = current.left
                else:
                    current.left = TreeNode(num)
                    break
            else:
                if current.right:
                    current = current.right
                else:
                    current.right = TreeNode(num)
                    break
    return root

def preorder_traversal(root):
    if not root:
        return
    stack = [root]
    result = []
    while stack:
        node = stack.pop()
        result.append(str(node.value))
        if node.right:
            stack.append(node.right)
        if node.left:
            stack.append(node.left)
    print(' '.join(result))

try:
    while True:
        N = int(input())
        numbers = list(map(int, input().split()))
        tree_root = build_tree(numbers)
        preorder_traversal(tree_root)
except EOFError:
    pass

0btye是怎樣???