在一个for循环里构建树,for循环外无法输出
时间: 2023-10-27 22:07:09 浏览: 49
如果在一个for循环里构建了一棵树,并且想要在循环外部输出这个树,你需要将这个树作为一个变量传递给循环外的代码。这可以通过在循环外部定义一个空的树节点,然后在循环内部将节点添加到树中来实现。以下是一个简单的示例代码:
```
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
# 创建一个空的树节点
root = None
# 在for循环中构建树
for i in range(5):
if root is None:
root = Node(i)
else:
curr = root
while True:
if i < curr.val:
if curr.left is None:
curr.left = Node(i)
break
else:
curr = curr.left
else:
if curr.right is None:
curr.right = Node(i)
break
else:
curr = curr.right
# 在循环外部输出树
def print_tree(node):
if node is not None:
print_tree(node.left)
print(node.val)
print_tree(node.right)
print_tree(root)
```
在这个例子中,我们定义了一个`Node`类来表示树中的节点。我们在循环外部定义了一个空的树节点`root`,然后在循环内部构建了这个树。最后,我们定义了一个`print_tree`函数来在循环外部输出树。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)