二叉树中序非递归遍历
非递归中序遍历二叉树的步骤如下:
- 初始化一个栈和一个指针,指针指向二叉树的根节点。
- 当栈不为空或指针非空时,执行以下操作:
- 如果指针非空,则将指针入栈,并将指针指向它的左子节点。
- 如果指针为空,则取出栈顶元素,输出它的值,并将指针指向它的右子节点。
下面是 Python 代码实现:
def in_order_traversal(root):
if not root:
return
stack = []
cur = root
while stack or cur:
if cur:
stack.append(cur)
cur = cur.left
else:
cur = stack.pop()
print(cur.val)
cur = cur.right
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 计算二叉树的值
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论