写程序,创建一个具有十个节点的完全二叉树 要求:先定义二叉树的节点,该程序返回创
时间: 2023-11-27 20:55:04 浏览: 43
建好的完全二叉树的根节点。
以下是Python代码实现:
```python
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def create_complete_binary_tree(nums):
if not nums:
return None
root = TreeNode(nums[0])
queue = [root]
i = 1
while i < len(nums):
node = queue.pop(0)
if i < len(nums):
node.left = TreeNode(nums[i])
queue.append(node.left)
i += 1
if i < len(nums):
node.right = TreeNode(nums[i])
queue.append(node.right)
i += 1
return root
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
root = create_complete_binary_tree(nums)
```
这里我们定义了一个`TreeNode`类表示二叉树节点,包括节点值`val`和左右子节点`left`和`right`。
`create_complete_binary_tree`函数接收一个列表`nums`,表示完全二叉树的节点值。首先创建根节点,然后将根节点加入队列`queue`中。接着从队列中取出一个节点,如果还有剩余的节点,则创建它的左右子节点并加入队列中。循环直到所有节点都创建完成。
最后返回完全二叉树的根节点`root`。