二叉树的先序遍历和后序遍历
时间: 2023-07-12 22:34:49 浏览: 131
二叉树的遍历是指按照一定规则遍历树中所有节点的过程。常见的二叉树遍历方式有前序遍历、中序遍历和后序遍历。
先序遍历的顺序是:根节点 -> 左子树 -> 右子树。
后序遍历的顺序是:左子树 -> 右子树 -> 根节点。
具体的实现可以使用递归或者栈来实现。以下是使用递归实现的示例代码:
```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 not root:
return []
res = [root.val]
res += preorderTraversal(root.left)
res += preorderTraversal(root.right)
return res
# 后序遍历
def postorderTraversal(root):
if not root:
return []
res = postorderTraversal(root.left)
res += postorderTraversal(root.right)
res += [root.val]
return res
```
以上代码中,我们定义了一个二叉树节点类,包括节点值、左右子树。然后使用递归实现了先序遍历和后序遍历。
阅读全文