给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]
1
2
/
3
输出: [1,3,2]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
代码
经典解法
def inorderTraversal(self, root):
if(root==None):return []
l=[]
l=l+self.inorderTraversal(root.left)
l.append(root.val)
l=l+self.inorderTraversal(root.right)
return l
递推
def inorderTraversal(self, root):
l=[]
stack=[]
while(root or stack!=[]):
while root:
stack.append(root)
root=root.left
root=stack.pop()
l.append(root.val)
root=root.right
return l