# 二叉树展开为链表

给你二叉树的根结点 root ,请你将它展开为一个单链表:

 

示例 1:

输入:root = [1,2,5,3,4,null,6]
输出:[1,null,2,null,3,null,4,null,5,null,6]

示例 2:

输入:root = []
输出:[]

示例 3:

输入:root = [0]
输出:[0]

 

提示:

 

进阶:你可以使用原地算法(O(1) 额外空间)展开这棵树吗?

## template ```java public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } class Solution { public void flatten(TreeNode root) { while (root != null) { if (root.left == null) root = root.right; else { TreeNode pre = root.left; while (pre.right != null) pre = pre.right; pre.right = root.right; root.right = root.left; root.left = null; root = root.right; } } } } ``` ## 答案 ```java ``` ## 选项 ### A ```java ``` ### B ```java ``` ### C ```java ```