二叉树中序遍历代码python
时间: 2024-03-14 08:41:22 浏览: 87
当然,下面是一个用Python实现的二叉树中序遍历的代码示例:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def inorderTraversal(root):
result = []
stack = []
curr = root
while curr or stack:
while curr:
stack.append(curr)
curr = curr.left
curr = stack.pop()
result.append(curr.val)
curr = curr.right
return result
```
这段代码使用了迭代的方式实现了二叉树的中序遍历。首先定义了一个辅助函数`inorderTraversal`,它接受一个二叉树的根节点作为参数,并返回中序遍历的结果。
在函数内部,我们使用一个栈来辅助遍历。首先将根节点入栈,然后进入一个循环,循环条件是当前节点不为空或者栈不为空。在循环中,首先将当前节点的左子节点依次入栈,直到左子节点为空。然后从栈中弹出一个节点,将其值加入结果列表,并将当前节点指向该节点的右子节点。重复以上步骤,直到遍历完整个二叉树。
最后,返回结果列表即可。
阅读全文