深度优先前序遍历二叉树代码
时间: 2024-04-26 13:18:21 浏览: 85
leetcode下载-algorithm:leetcode&nowcoder
深度优先前序遍历二叉树是一种常用的遍历方式,它的代码实现如下:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def preorderTraversal(root):
if root is None:
return []
stack = [root]
result = []
while stack:
node = stack.pop()
result.append(node.val)
if node.right:
stack.append(node.right)
if node.left:
stack.append(node.left)
return result
```
上述代码中,我们使用了一个栈来辅助实现深度优先前序遍历。首先,我们将根节点入栈。然后,从栈中弹出一个节点,将其值加入结果列表中,并依次将右子节点和左子节点入栈。重复这个过程,直到栈为空。
阅读全文