递归实现二叉树的先序中序后序遍历
时间: 2023-07-21 10:37:45 浏览: 134
二叉树递归的实现前序 中序 后序遍历
好的,下面是递归实现二叉树的先序、中序和后序遍历的代码示例:
```python
# 定义二叉树节点类
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
# 先序遍历
def preOrder(root):
if root:
print(root.val, end=' ')
preOrder(root.left)
preOrder(root.right)
# 中序遍历
def inOrder(root):
if root:
inOrder(root.left)
print(root.val, end=' ')
inOrder(root.right)
# 后序遍历
def postOrder(root):
if root:
postOrder(root.left)
postOrder(root.right)
print(root.val, end=' ')
```
其中,先序遍历先输出当前节点的值,再递归遍历左右子树;中序遍历先递归遍历左子树,再输出当前节点的值,最后递归遍历右子树;后序遍历先递归遍历左右子树,再输出当前节点的值。
阅读全文