Aprender / Palíndromo: lê igual de trás para frente

Palíndromo: lê igual de trás para frente

Verifique se uma frase é igual quando lida ao contrário, ignorando maiúsculas e espaços.

Enunciado

Um palíndromo é uma palavra ou frase que se lê igual de trás para frente, como arara ou Osso. Escreva ehPalindromo(texto), que retorna true se o texto for palíndromo e false caso contrário. Ignore maiúsculas e espaços (não é necessário tratar acentos ou pontuação).

Exemplos:

  • ehPalindromo("arara") retorna true
  • ehPalindromo("Anotaram a data da maratona") retorna true
  • ehPalindromo("casa") retorna false

Processamento local: nada do que você digita sai do seu navegador.

O conceito

Para saber se algo é um palíndromo, compare o texto com a sua versão invertida. Antes disso, é preciso padronizar: tudo em minúsculas e sem espaços.

É como olhar uma palavra no espelho: se a imagem refletida é igual à original, é um palíndromo. Mas se o espelho trocar maiúsculas por minúsculas, a comparação falha, então primeiro você 'arruma' o texto.

const limpo = "Osso".toLowerCase();
const invertido = limpo.split("").reverse().join("");
// limpo === invertido  ->  true

Erros comuns

  • Esquecer de padronizar maiúsculas: 'Osso' viraria falso.
  • Não remover os espaços em frases.
  • Tentar usar texto.reverse() direto: strings não têm reverse, só arrays.

Perguntas frequentes

Por que split, reverse e join?

Strings não podem ser invertidas diretamente. split vira array de letras, reverse inverte, join junta de novo em texto.

A string vazia é palíndromo?

Por convenção sim: lida de frente ou de trás, é igual.

Veja também

Precisa de um sistema ou app sob medida?

A VcInova desenvolve software, aplicativos e integrações para empresas de todo o Brasil.

Fale com a VcInova