LeetCode 114. Flatten Binary Tree to Linked List

Posted 約束の空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 114. Flatten Binary Tree to Linked List相关的知识,希望对你有一定的参考价值。

树里的 divide and conquer 感觉和 post order traversal 就是一个东西,反正都是递归。

下面方法返回了 root ,也可以不返回,直接用 flatten 自己递归也行。

时间复杂度 O(nlogn) 空间复杂度 O(h)

class Solution {
public:
    
    void flatten(TreeNode* root) {  
        helper(root);
    }
    
    TreeNode *helper(TreeNode* root) {  
        if (root==NULL) return NULL;
        TreeNode *left=helper(root->left);
        TreeNode *right=helper(root->right);
        root->left = NULL;
        root->right = left;
        TreeNode *cur=root;
        while (cur->right!=NULL) cur=cur->right;
        cur->right = right;
        return root;
    }

};

 

以上是关于LeetCode 114. Flatten Binary Tree to Linked List的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 114. Flatten Binary Tree to Linked List

leetcode--114. Flatten Binary Tree to Linked List

LeetCode 114. Flatten Binary Tree to Linked List

Leetcode 114, Flatten Binary Tree to Linked List

LeetCode-114-Flatten Binary Tree to Linked List

LeetCode OJ 114. Flatten Binary Tree to Linked List