class Solution(object):
def step(self, node, prenode):
if node==None:
return
prenode.append(node)
if node.left!=None:
self.step(node.left, prenode)
if node.right!=None:
self.step(node.right, prenode)
def flatten(self, root):
"""
:type root: TreeNode
:rtype: None Do not return anything, modify root in-place instead.
"""
if root==None: return
ret=[root]
self.step(root.left, ret)
self.step(root.right, ret)
for i in xrange(1,len(ret)):
ret[i-1].right=ret[i]
ret[i-1].left=None