用循环体输入生成二叉树
时间: 2023-12-03 14:43:44 浏览: 83
二叉树生成
下面是用循环体输入生成二叉树的示例代码:
```python
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def constructBinaryTree():
root = None
queue = []
print("请输入根节点的值:")
val = input().strip()
if val != "":
root = TreeNode(int(val))
queue.append(root)
while len(queue) > 0:
node = queue.pop(0)
print(f"请输入节点 {node.val} 的左子节点的值:")
val = input().strip()
if val != "":
node.left = TreeNode(int(val))
queue.append(node.left)
print(f"请输入节点 {node.val} 的右子节点的值:")
val = input().strip()
if val != "":
node.right = TreeNode(int(val))
queue.append(node.right)
return root
```
该函数首先输入根节点的值,如果不为空则将其作为二叉树的根节点。然后进入一个循环,每次从队列中取出一个节点,输入其左右子节点的值,如果不为空则创建新的节点,并将其加入队列中。当队列为空时,说明所有节点都已经输入完毕,返回根节点即可。
注意,上述代码只是示例代码,实际使用时可能需要根据具体情况进行修改。
阅读全文