K-ésimo nodo AcWing 70. binario árbol de búsqueda (la oferta para probar la seguridad)

Dado un árbol binario de búsqueda, por favor, encontrar los nodos de la primera k más pequeños en el mismo.

Usted puede asumir que el árbol y K están presentes, y 1≤k≤ puntos de resumen árbol.

Muestra
de entrada: root = [2, 1, 3, null, null, null, null], k = 3

2

/
1 3

Salida: 3

class Solution {
public:
    TreeNode* ans;
    TreeNode* kthNode(TreeNode* root, int k) {
        if(!root) return root;
        dfs(root,k);
        return ans;
    }
    
    void dfs(TreeNode* root,int &k) {
        if(!root) return;
        dfs(root -> left,k);
        k--;
        if(!k) ans = root;
        dfs(root -> right,k);
    }
};
Publicados 843 artículos originales · ganado elogios 28 · Vistas a 40000 +

Supongo que te gusta

Origin blog.csdn.net/tomjobs/article/details/104980596
Recomendado
Clasificación