LeetCode-1038: a partir de uma árvore de busca binária em árvore e máxima

Um, Título Descrição

Aqui Insert Picture Descrição

Em segundo lugar, as ideias de resolução de problemas

  • Preorder árvore de busca binária é crescente seqüência
    • Primeiro, podemos pré-encomenda árvore de busca binária, depósito digitaisvector
    • A nova árvore é vectordo fim do começo, desde o final do elemento atual para elementosum
  • Trans inorder travessia da árvore de busca binária é uma seqüência descendente
    • Anti inorder travessia binário pesquisa árvore, a corrente igual ao elemento atualsum

Em terceiro lugar, o Código de resolução de problemas

  • solução preorder
class Solution {
public:
    TreeNode* bstToGst(TreeNode* root) {
        if(!root)   return root;
        vector<int> vec;
        stack<TreeNode*>s;
        auto p = root;
        while(!s.empty() || p){
            while(p){
                s.push(p);
                p = p->left;
            }
            if(!s.empty()){
                p = s.top();
                s.pop();
                vec.push_back(p->val);
                p = p->right;
            }
        }
        int sum = 0;
        for(auto i = vec.rbegin(); i != vec.rend(); i++){
            sum += *i;
            *i = sum;
        }
        int counter = 0;
        p = root;
        while(!s.empty() || p){
            while(p){
                s.push(p);
                p = p->left;
            }
            if(!s.empty()){
                p = s.top();
                s.pop();
                //vec.push_back(p->val);
                p->val = vec[counter++];
                p = p->right;
            }
        }
        return root;
    }
};
  • Solução Anti pré-venda
class Solution {
public:
    int sum = 0;
public:
    TreeNode* bstToGst(TreeNode* root) {
        if(root){
            root->right = bstToGst(root->right);
            sum += root->val;
            root->val = sum;
            root->left = bstToGst(root->left);
        }
        return root;
    }
};

Em quarto lugar, os resultados operacionais

Aqui Insert Picture Descrição

Publicado 30 artigos originais · ganhou elogios 3 · Visualizações 814

Acho que você gosta

Origin blog.csdn.net/weixin_44587168/article/details/105338640
Recomendado
Clasificación