O padrão em 30 segundos
Manipulação de ponteiros: inverter lista, detectar ciclo (Floyd, lento/rápido), juntar listas ordenadas, achar o meio. Pouca teoria, muita coordenação motora: a nota sai da sua capacidade de não perder referência no meio da cirurgia.
Como reconhecer na hora
- O enunciado já diz "linked list", sem mistério
- Detectar ciclo ou achar o meio sem espaço extra → dois ponteiros em velocidades diferentes
- "Faça in-place com O(1) de espaço" numa estrutura encadeada
onde todo mundo erra · anotado no caderno
Perder o resto da lista ao sobrescrever .next antes de guardar a referência. Salve `next` ANTES de religar. Desenhe as setas no papel/quadro. Quem tenta fazer de cabeça derruba edge case (lista vazia, um nó, dois nós).
Complexidade típica: Quase sempre tempo O(n), espaço O(1): o espaço constante é o ponto.
Os 11 problemas da categoria
| Problema | Dificuldade | Nível no app |
|---|---|---|
| Reverse Linked List cai muito | easy | nível 1 · core |
| Merge Two Sorted Lists | easy | nível 1 · core |
| Linked List Cycle cai muito | easy | nível 1 · core |
| Reorder List | medium | nível 2 · core |
| Remove Nth Node From End of List | medium | nível 2 · core |
| Copy List With Random Pointer | medium | nível 3 |
| Add Two Numbers cai muito | medium | nível 2 |
| Find the Duplicate Number | medium | nível 3 |
| LRU Cache cai muito | medium | nível 2 |
| Merge K Sorted Lists cai muito | hard | nível 4 · core |
| Reverse Nodes in K-Group | hard | nível 4 |
No app, esses 11 problemas entram numa trilha de 4 níveis com marcação do que mais cai em entrevista, e você registra tentativa, revisão e domínio de cada um.
Abrir a trilha NeetCode no app