0Pricing
Coding Interview Prep · Aula

Pilhas para Correspondência de Parênteses

Valide parênteses com uma pilha.

Pilhas para Correspondência de Parênteses é uma aula grátis de Coding Interview Prep no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Coding Interview Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Coding Interview Prep inclui 4 aulas no total.

Último a entrar, primeiro a sair

Uma pilha é uma estrutura em que o último item colocado é o primeiro a ser removido, como uma pilha de pratos. 🍽️

Listas de Python são pilhas

Em Python, você não precisa de uma classe especial. Uma simples lista já funciona como uma pilha rápida e pronta para uso em competições.

stack = []

Empilhe com append

Para colocar um item no topo da pilha, use append, que adiciona o valor ao final da lista em tempo O(1).

stack.append('(')
stack.append('[')

Remova do topo com pop

Chamar pop sem índice remove e devolve o último item, aquele que foi colocado mais recentemente na pilha.

top = stack.pop()  # removes '['

Consulte sem remover

Para consultar o item do topo sem removê-lo, basta ler stack[-1]. Essa consulta é útil antes de decidir usar pop.

if stack:
    top = stack[-1]

Verifique sempre se está vazia

Usar pop em uma pilha vazia gera um erro. Proteja cada operação pop verificando primeiro if stack, para que sua solução nunca falhe.

A ideia de correspondência de delimitadores

Os delimitadores se aninham perfeitamente, o que pede uma pilha. Empilhe cada delimitador de abertura, e um delimitador de fechamento deve corresponder ao topo da pilha.

Associe o fechamento à abertura

Mantenha um pequeno dicionário que associe cada delimitador de fechamento ao delimitador de abertura esperado, para que as verificações permaneçam claras.

pairs = {')': '(', ']': '[', '}': '{'}

Percorra e decida

Percorra a cadeia uma única vez. Empilhe os delimitadores de abertura e, ao encontrar um de fechamento, compare-o com o topo removido usando seu mapa de pares.

for c in s:
    if c in pairs.values():
        stack.append(c)

Uma incompatibilidade significa inválido

Se o delimitador de abertura removido não corresponder, ou se a pilha estiver vazia quando você precisar dela, a cadeia será inválida imediatamente.

    elif not stack or stack.pop() != pairs[c]:
        return False

Pilha vazia ao final

Após a varredura, um delimitador de abertura restante significa que algo nunca foi fechado. A cadeia é válida somente quando a pilha finalmente está vazia.

return not stack

Verificação rápida

Você está validando delimitadores com uma pilha. O que uma pilha não vazia ao final indica?

Recapitulação: pilhas controlam delimitadores

Você aprendeu que uma lista funciona como uma pilha: empilhe os delimitadores de abertura, use pop nos de fechamento, e uma pilha vazia ao final significa que estão balanceados. Muito bem! 🎉

Perguntas Frequentes

A aula “Pilhas para Correspondência de Parênteses” é grátis?

Sim — o texto completo de “Pilhas para Correspondência de Parênteses” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Coding Interview Prep, atualize para CoddyKit PRO. O curso de Coding Interview Prep inclui 4 aulas no total.

O que vou aprender em “Pilhas para Correspondência de Parênteses”?

Valide parênteses com uma pilha. Você pratica Coding Interview Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Coding Interview Prep?

Nenhuma experiência prévia é necessária. Coding Interview Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Pilhas para Correspondência de Parênteses”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Coding Interview Prep?

Sim. Cada aula de Coding Interview Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Pilhas para Correspondência de Parênteses
  2. Pilha Monotônica: Próximo Elemento Maior
  3. Filas e collections.deque
  4. Máximo em Janela Deslizante com Deque
← Voltar para Coding Interview Prep