K-ésimo nodo de árbol de búsqueda binaria: Oferta de demostrar la seguridad sesenta y dos

trabajo informal

Dado un árbol binario de búsqueda, por favor, encontrar los nodos de la primera k más pequeños en el mismo. Por ejemplo, (5,3,7,2,4,6,8), los valores numéricos de acuerdo con la tercera punto de unión es 4 resumen.

pensamiento

Árbol binario de búsqueda? No es que se ordenó el fin de averiguar el primero de varios pequeños, se puede colocar directamente en la secuencia de orden.

código

public class Solution {
     int index = 0; //计数器
    TreeNode KthNode(TreeNode root, int k)
    {
        if(root != null){ //中序遍历寻找第k个
            TreeNode node = KthNode(root.left,k);
            if(node != null)
                return node;
            index ++;
            if(index == k)
                return root;
            node = KthNode(root.right,k);
            if(node != null)
                return node;
        }
        return null;
    }

}
Publicado 84 artículos originales · ganado elogios 53 · vistas 7382

Supongo que te gusta

Origin blog.csdn.net/weixin_44015043/article/details/105422808
Recomendado
Clasificación