230. El elemento más pequeño de Kth en el árbol de búsqueda binario (c ++)

Dado un árbol de búsqueda binario, escriba una función kthSmallest para encontrar el k-ésimo elemento más pequeño.
Explicación:
puede suponer que k siempre es válido, 1 ≤ k ≤ el número de elementos de árbol de búsqueda binarios.
Solución de clase {
público:
    int kthSmallest (raíz de TreeNode *, int k) {
        apilar <TreeNode *> s;
        int num = 0;
        TreeNode * cur = root;
        while (! s.empty () || cur)
        {
            si (cur)
            {
                s.push (cur);
                cur = cur-> izquierda;
            }
            más
            {
                cur = s.top ();
                s.pop ();
                num ++;
                si (num == k)
                    retorno cur-> val;
                cur = cur-> right;
            }
        }
        devuelve 0;
    }
};

Supongo que te gusta

Origin www.cnblogs.com/one-think/p/12673569.html
Recomendado
Clasificación