输出二叉树的先序遍历
时间: 2023-12-06 18:36:35 浏览: 81
在二叉树或更复杂的树形结构中,先序输出叶结点.txt
以下是输出二叉树先序遍历的Python代码实现:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def preorderTraversal(root: TreeNode) -> List[int]:
if not root:
return []
res = []
stack = [root]
while stack:
node = stack.pop()
res.append(node.val)
if node.right:
stack.append(node.right)
if node.left:
stack.append(node.left)
return res
```
其中,我们定义了一个`TreeNode`类来表示二叉树的节点,`preorderTraversal`函数用于实现先序遍历。具体实现思路是,使用一个栈来存储待遍历的节点,首先将根节点入栈,然后每次从栈中弹出一个节点,并将其值加入结果列表中。接着,将该节点的右子节点和左子节点依次入栈,这样可以保证下一次弹出的节点是左子节点,从而实现先序遍历。
阅读全文