Tree
2025-10-26 19:54:47
发布于:江苏
2阅读
0回复
0点赞
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def build_tree_from_level_order(data):
if not data or data[0] == 0:
return None
root = TreeNode(data[0])
queue = [root]
index = 1
while queue and index < len(data):
current = queue.pop(0)
if index < len(data) and data[index] != 0:
current.left = TreeNode(data[index])
queue.append(current.left)
index += 1
if index < len(data) and data[index] != 0:
current.right = TreeNode(data[index])
queue.append(current.right)
index += 1
return root
def format_tree_output(root):
if not root:
return ""
result = []
queue = [root]
while queue:
current = queue.pop(0)
if current:
left_val = current.left.val if current.left else 0
right_val = current.right.val if current.right else 0
if current.val != 0:
result.append(f"{current.val} : {left_val} {right_val}")
if current.left:
queue.append(current.left)
if current.right:
queue.append(current.right)
return "\n".join(result)
try:
input_data = input().strip().split()
data = [int(x) for x in input_data]
root = build_tree_from_level_order(data)
output = format_tree_output(root)
print(output)
except Exception as e:
print(f"错误: {e}")
这里空空如也







有帮助,赞一个