#125. Valid Palindrome

Strings • Fácil

#two-pointers#O(n)-tempo#O(1)-espaço#string
Prévia da Animação
s = "A man, a plan, a canal: Panama"
Clique na aba Solução para ver a visualização
Valid Palindrome
Enunciado do Problema

Uma frase é um palíndromo se, após converter todas as letras maiúsculas em minúsculas e remover todos os caracteres não alfanuméricos, ela se lê da mesma forma de trás para frente. Caracteres alfanuméricos incluem letras e números.

Dado uma string s, retorne true se for um palíndromo, ou false caso contrário.

Exemplos

Exemplo 1

Entrada s = "A man, a plan, a canal: Panama"
Saída true
Explicação "amanaplanacanalpanama" é um palíndromo.

Exemplo 2

Entrada s = "race a car"
Saída false
Explicação "raceacar" não é um palíndromo.

Exemplo 3

Entrada s = " "
Saída true
Explicação s é uma string vazia após remover caracteres não alfanuméricos. Como uma string vazia se lê da mesma forma de trás para frente, é um palíndromo.
Restrições
  • 1 ≤ s.length ≤ 2 * 10⁵
  • s consiste apenas de caracteres ASCII imprimíveis