Leetcode 114二叉树展开为链表

给定一个二叉树,原地将它展开为一个单链表。

例如,给定二叉树
1
/
2 5
/ \
3 4 6
将其展开为:
1
2
3
4
5
6

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

image.png
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def flatten(self, root: TreeNode) -> None:
        """
        Do not return anything, modify root in-place instead.
        """
        while root:
            if root.left:
                temp = root.left
                
                while temp.right:
                    temp = temp.right //遍历到左子树最右
                
                temp.right = root.right
                root.right = root.left
                root.left = None
            root = root.right

你可能感兴趣的:(LeetCode算法,leetcode)