创建二叉链表存储的二叉树
时间: 2024-03-01 11:45:58 浏览: 81
以下是创建二叉链表存储的二叉树的Python代码示例:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def createBinaryTree(nums):
"""
:param nums: List[int]
:return: TreeNode
"""
if not nums:
return None
n = len(nums)
root = TreeNode(nums[0])
queue = [root]
i = 1
while i < n:
node = queue.pop(0)
if nums[i] is not None:
node.left = TreeNode(nums[i])
queue.append(node.left)
i += 1
if i < n and nums[i] is not None:
node.right = TreeNode(nums[i])
queue.append(node.right)
i += 1
return root
```
其中,`TreeNode`类表示二叉树的节点,`createBinaryTree`函数接收一个列表作为输入,返回一个二叉树的根节点。具体实现过程是,首先创建根节点,然后将根节点加入队列中。接着,从队列中取出一个节点,如果该节点对应的值在输入列表中不为`None`,则创建该节点的左子节点,并将其加入队列中;然后,如果输入列表中还有剩余元素,且下一个元素不为`None`,则创建该节点的右子节点,并将其加入队列中。最后,当队列为空时,表示所有节点都已经创建完毕,返回根节点即可。
阅读全文