【Botão Li】141. Lista de toques <ponteiro rápido e lento>

【Botão Forçar】 141. Lista encadeada de anéis

Dê a você o nó principal de uma lista encadeada e julgue se há um anel na lista encadeada.
Se houver um nó na lista encadeada que pode ser alcançado novamente rastreando continuamente o próximo ponteiro, haverá um ciclo na lista encadeada. Para representar o anel na lista encadeada fornecida, o sistema de avaliação usa internamente o inteiro pos para indicar a posição em que o final da lista encadeada está conectado à lista encadeada (o índice começa em 0). Nota: pos não é passado como parâmetro. Apenas para identificar a situação real da lista encadeada.
Retorna verdadeiro se houver um ciclo na lista encadeada. Caso contrário, retorna falso.

Exemplo 1:
Entrada : cabeça = [3,2,0,-4], pos = 1
Saída : verdadeiro
Explicação : Há um anel na lista encadeada cuja cauda está conectada ao segundo nó.

Exemplo 2:
Entrada : cabeça = [1,2], pos = 0
Saída : verdadeiro
Explicação : Há um anel na lista encadeada cuja cauda está conectada ao primeiro nó.

Exemplo 3:
Entrada : cabeça = [1], pos = -1
Saída : falso
Explicação : Não há ciclo na lista encadeada.

Dica:
O intervalo do número de nós na lista encadeada é [0, 1 0 4 10^41 04 ]
-1 0 5 10^51 05 <= Node.val <=1 0 5 10^51 05
pos é -1 ou um índice válido na lista encadeada.

responder

ponteiro de velocidade

class ListNode {
    
    
    int val;
    ListNode next;

    ListNode(int x) {
    
    
        val = x;
        next = null;
    }
}

public class Solution {
    
    
    public boolean hasCycle(ListNode head) {
    
    
        //没有链表
        if (head == null) {
    
    
            return false;
        }
        ListNode slow = head;
        ListNode fast = head;

        while (fast != null && fast.next != null) {
    
    
            fast = fast.next.next;
            slow = slow.next;
            //快慢指针重合
            if (slow == fast) {
    
    
                return true;
            }
        }
        return false;
    }
}

おすすめ

転載: blog.csdn.net/qq_44033208/article/details/131877530