#44804: 好耶 python第7名


x__1 (709-34)

School : 臺北市立麗山國中
ID : 294220
IP address : [111.248.241.184]
Last Login :
2025-03-18 17:22:14
d526. Binary Search Tree (BST) | From: [111.248.217.102] | Post Date : 2024-12-17 19:51

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(node):
    if not node:
        return
    print(node.value, end=' ')
    preorder_traversal(node.left)
    preorder_traversal(node.right)

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