Estructura de datos (anillo de lista enlazada)

Directorio de artículos


prefacio

1. ¿Qué es un anillo de lista enlazada?

Como se muestra en la imagen:


提示:以下是本篇文章正文内容,下面案例可供参考

 

1. Tema

Dos, resolución de problemas.

1. pensar

los movimientos lentos uno a la vez, mientras que los rápidos se mueven dos a la vez:

Muévase despacio primero cada vez, y luego muévase rápido

Hasta lento == rápido, la lista enlazada tiene un anillo

2. Date cuenta

 

el código se muestra a continuación:

bool hasCycle(struct ListNode *head) {
    struct ListNode *slow=head,*fast=head;
    while(fast&&fast->next)
    {
        slow=slow->next;
        fast=fast->next->next;
        if(fast==slow)
        {
            return true;
        }
    }
    return false;
}

Supongo que te gusta

Origin blog.csdn.net/qq_45591898/article/details/128997473
Recomendado
Clasificación