给你二叉树的根结点root请你将它展开为一个单链表展开后的单链表应该同样使用TreeNode其中right子指针指向链表中下一个结点而左子指针始终为null。展开后的单链表应该与二叉树 先序遍历 顺序相同。示例 1输入root [1,2,5,3,4,null,6]输出[1,null,2,null,3,null,4,null,5,null,6]核心思路找到当前节点左子树最右下节点把该节点右指针指向当前节点的右子树当前节点左子树挪到右侧左指针置空向右遍历重复操作class Solution: def flatten(self, root: Optional[TreeNode]) - None: Do not return anything, modify root in-place instead. if not root: return self.flatten(root.left) self.flatten(root.right) tmp root.right root.right root.left root.left None p root while p.right: p p.right p.right tmp