class Solution(object):
def flatten(self, root):
"""
:type root: TreeNode
:rtype: None Do not return anything, modify root in-place instead.
"""
if not root:
return
self.flatten(root.left)
self.flatten(root.right)
if root.left:
# 找到root左子树的最后一个节点
leftEnd = root.left
while leftEnd.right:
leftEnd = leftEnd.right
# 子树移动
leftEnd.right = root.right
root.right = root.left
root.left = None
原文:https://www.cnblogs.com/panweiwei/p/13585708.html