您的位置:首页 > 其它

Binary Tree Inorder Traversal

2016-07-29 17:26 375 查看
leetcode第94题,二叉树中序遍历,但是要求不要使用递归,所以就是二叉树遍历的非递归形式,利用栈来做。

废话不说多,直接上代码吧。

# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None

class Solution(object):
def inorderTraversal(self, root):
"""
:type root: TreeNode
:rtype: List[int]
"""
currNode = root
ans = []
stack = []
while (currNode or len(stack)!=0 ):
while currNode:
stack.append(currNode)
currNode = currNode.left
currNode = stack[-1]
stack.pop()
ans.append(currNode.val)
currNode = currNode.right
return ans
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: