二叉树前序遍历python
时间: 2024-01-30 10:12:26 浏览: 154
二叉树前序遍历
以下是二叉树前序遍历的Python代码示例:
```python
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution:
def preorderTraversal(self, root):
ret, stack = [], [root]
while stack:
node = stack.pop()
if node:
ret.append(node.val)
stack.append(node.right)
stack.append(node.left)
return ret
```
这段代码使用了一个栈来实现非递归的前序遍历。首先将根节点压入栈中,然后循环执行以下操作:弹出栈顶节点,将其值加入结果列表中,然后先将右子节点压入栈中,再将左子节点压入栈中。重复这个过程直到栈为空。最后返回结果列表。
阅读全文