# 114. Flatten Binary Tree to Linked List

 **<font color=red>难度: Middle</font>**

 ## 刷题内容

 > 原题连接

* https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/
  
 > 内容描述
 
 ```
给定一个二叉树，原地将它展开为链表。

例如，给定二叉树

    1
   / \
  2   5
 / \   \
3   4   6
将其展开为：

1
 \
  2
   \
    3
     \
      4
       \
        5
         \
          6
 ```

## 解题方案
> 思路 1
```
后续遍历二叉树
```

```cpp
void dfs(TreeNode* root){
    if(root==NULL)
        return ;
    dfs(root->left);
    dfs(root->right);
    TreeNode* tmp=root->right;
    root->right=root->left;
    root->left=NULL;
    while(root->right)
        root=root->right;
    root->right = tmp;
}
void flatten(TreeNode* root) {
    dfs(root);
}
```