用python代码实现二叉树的前序、中序和后序遍历函数
时间: 2024-05-09 12:18:07 浏览: 57
好的,这个问题是关于编程的,我可以回答。以下是用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):
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
#中序遍历函数
def inOrderTraversal(root):
if not root:
return []
res = []
stack = []
node = root
while node or stack:
while node:
stack.append(node)
node = node.left
node = stack.pop()
res.append(node.val)
node = node.right
return res
#后序遍历函数
def postOrderTraversal(root):
if not root:
return []
res = []
stack = [root]
while stack:
node = stack.pop()
res.append(node.val)
if node.left:
stack.append(node.left)
if node.right:
stack.append(node.right)
return res[::-1]
```
希望这个代码能够回答您的问题。
阅读全文