码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 114. Flatten Binary Tree to Linked List

时间:2018-08-26 01:10:35      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:log   turn   一个   binary   VID   bsp   linked   tco   rsa   

树里的 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

标签:log   turn   一个   binary   VID   bsp   linked   tco   rsa   

原文地址:https://www.cnblogs.com/hankunyan/p/9535933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!