Para demostrar la seguridad OFERTA árbol - la reconstrucción de un árbol binario

título Descripción

Y escriba el resultado en un orden previo de recorrido de un árbol binario en preorden recorrido del árbol binario una reconstrucción. Resultados Supongamos que preorden de recorrido de orden y de entrada de números duplicados son libres. Por ejemplo, antes de entrar en preorden recorrido secuencia {1,2,4,7,3,5,6,8} y {4,7,2,1,5,3,8,6} secuencia de orden transversal, y el árbol binario reconstruida regresar.

análisis

Sin repetir los números.

Preorden recorrido de una secuencia de valores es el nodo raíz, con el fin de encontrar su ubicación en el recorrido, que esta ubicación se encuentra en frente del nodo subárbol izquierdo, nodo de la derecha es el subárbol derecho. El número de nodos hermanos, el nodo raíz puede encontrar los subárboles izquierdo y derecho de la orden de recorrido anterior. Recursividad, la reconstrucción del árbol binario.

código

/**
 * Definition for binary tree
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    TreeNode* reConstructBinaryTree(vector<int> pre,vector<int> vin) {
        TreeNode *root = reBuildTree(pre, 0, pre.size()-1, vin, 0, vin.size()-1);
        return root;
    }
    TreeNode* reBuildTree(vector<int> pre,int startPre,int endPre,vector<int>in,int startIn,int endIn) {
        if(startPre>endPre || startIn > endIn)
            return nullptr;
        TreeNode *root = new TreeNode(pre[startPre]);
        for(int i = startIn; i <= endIn; i++) {
            if(in[i] == pre[startPre]) {
                root->left = reBuildTree(pre,startPre+1,startPre+i-startIn,in,startIn,i-1);
                root->right = reBuildTree(pre,i-startIn+startPre+1,endPre,in,i+1,endIn);
                break;
            }
        }
        return root;
    }
};

 

Publicado 35 artículos originales · ganado elogios 6 · vistas 6690

Supongo que te gusta

Origin blog.csdn.net/qq_35413770/article/details/105178277
Recomendado
Clasificación