Árbol 3: Por favor implementar una función, un árbol binario se utiliza para determinar no simétrica. Tenga en cuenta que si una imagen binaria es un árbol binario de esta con la misma, que se define como la simétrica

árbol simétrica:

 

 

=================== // recursiva algoritmo =========================== // ==

1. Tan pronto como pRoot.left son simétricos y pRoot.right
2. El nodo izquierdo valores iguales y simétricos subárbol left.left, right.right; left.rigth, right.left también simétrica
/ * 
Public class NodoArbol { 
    int val = 0; 
    TreeNode dejó = null; 
    TreeNode derecha = null; 

    NodoArbol pública (int val) { 
        this.val = val; 

    } 

} 
* / 
Pública  clase de soluciones {
     pública  booleano Jude (NodoArbol nodo1, NodoArbol nodo2) {
         si (nodo 1 == nula && nodo2 == nula ) {
             devolver  cierto ; 
        } Demás  si (nodo 1 == nula || nodo2 == nula )
             volver  falsa ;
        Si(! = node1.val node2.val)
             de retorno  falsa ;
        otra cosa {
             volver Jude (node1.left, node2.right) && Jude (node1.right, node2.left); 
        } 
    } 
    Pública  booleano isSymmetrical (NodoArbol PROOT) 
    { 
        retorno PROOT == nula || Jude (pRoot.left, pRoot.right); 
    } 
}

// =================== algoritmo no recursivo, el uso de DFS y BFS ===================== ======== //

 

Supongo que te gusta

Origin www.cnblogs.com/xuechengmeigui/p/12631325.html
Recomendado
Clasificación