首页 > 代码库 > 7. Binary Tree Inorder Traversal
7. Binary Tree Inorder Traversal
Binary Tree Inorder Traversal
Given a binary tree, return the inorder traversal of its nodes‘ values.
For example:
Given binary tree {1,#,2,3}
,
1 2 / 3
return [1,3,2]
.
Note: Recursive solution is trivial, could you do it iteratively?
# Definition for a binary tree node
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# @param root, a tree node
# @return a list of integers
def inorderTraversal(self, root):
temp = root
result = []
stack = []
if temp is None:
return result
stack.insert(0,temp)
temp = temp.left
while stack is not None:
if temp is not None:
stack.insert(0,temp)
temp = temp.left
else:
temp = stack.pop(0)
result.append(temp.val)
temp = temp.right
if temp is None and not stack:
break
else:
continue
return result
7. Binary Tree Inorder Traversal