LeetCode: el K-ésimo nodo más grande del árbol de búsqueda binaria

Descripción del Título

Ideas para resolver problemas

  • Primero construya una colección para almacenar todos los elementos atravesados.
  • Utilice DFS para recorrer el árbol binario y almacenar el resultado en la colección.
  • Convertir colección en matriz
  • Ordenar en orden descendente por el método de clasificación
  • El elemento con subíndice [k-1] de la matriz ordenada es el K-ésimo elemento más grande del árbol de búsqueda binaria.

Código de implementación

var kthLargest = function(root, k) {
    
    

    const set = new Set();
    const dfs = function(node) {
    
    
        if (node === null) {
    
    
            return;
        }

        set.add(node.val);
        dfs(node.left);
        dfs(node.right);
    }
    dfs(root);
    const arr = [...set];
    arr.sort((a,b) => {
    
    
        return b-a;
    });

    return arr[k-1];

};

Supongo que te gusta

Origin blog.csdn.net/sinat_41696687/article/details/115039619
Recomendado
Clasificación