Skip to content

114. Flatten Binary Tree to Linked List

难度: Middle

刷题内容

原题连接

  • https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/

内容描述

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

例如,给定二叉树

1

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

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

解题方案

思路 1

后续遍历二叉树
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);
}


回到顶部