这道题可以运用一个栈来实现,注意安排栈中放的元素就ok了,python继续。。。
class Solution(object):
def inorderTraversal(self, root):
"""
:type root: TreeNode
:rtype: List[int]
"""
res = []
if root == None:
return res
stack = []
stack.append(root)
while len(stack) > 0:
# 父节点
node = stack[-1]
# 如果左子树不为空,则将其压入栈中,并将其左子树置位空
if node.left != None:
stack.append(node.left)
node.left = None
else:
# 左子树为空,则将父节点弹出栈
temp = stack.pop()
res.append(temp.val)
# 如果右子树不为空,则将其压入栈中,并将其右子树置位空
if temp.right != None:
stack.append(temp.right)
temp.right = None
return res