114. 二叉树展开为链表





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