按先序次序建立一棵二叉树(二叉链表),然后输出树中最小结点值
时间: 2024-03-01 15:27:13 浏览: 82
好的,我明白了您的要求。下面是实现该功能的 Python 代码:
```python
# 定义二叉树结点类
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
# 按先序次序建立二叉树
def build_tree(preorder):
if not preorder:
return None
root_val = preorder.pop(0)
if not root_val:
return None
root = TreeNode(root_val)
root.left = build_tree(preorder)
root.right = build_tree(preorder)
return root
# 找到树中的最小结点值
def find_min(root):
if not root:
return None
while root.left:
root = root.left
return root.val
# 测试
preorder = ['5', '3', '2', None, None, '4', None, None, '7', '6', None, None, '8', None, None]
root = build_tree(preorder)
print(find_min(root))
```
这段代码会先根据给定的先序遍历结果建立一个二叉树,然后从根结点开始往左遍历直到找到最小结点,最后输出该结点的值。如果树中没有结点,则输出 None。请注意,这里假设结点的值都是整数。
阅读全文