Fácil 0 resolvidos 0% de aceitação

Número Palíndromo

Verifique se um número é lido da mesma forma de trás para frente.

O que você vai aprender

  • Inverter um número dígito a dígito
  • Comparar o valor invertido com o original
  • Tratar números negativos e zeros finais

Problema

Ver original (inglês)

Decida se os dígitos decimais de n são lidos da mesma forma da esquerda para a direita e da direita para a esquerda. Números negativos nunca são palíndromos por causa do sinal de menos.

Implemente is_palindrome_number(n).

Entrada

n: O número a ser verificado.

Saída

Retorne true para um número palíndromo, caso contrário false.

Restrições

-10¹⁸ ≤ n ≤ 10¹⁸

Exemplos

Exemplo 1
Entrada:
n = 12321

Saída esperada:
expected = True
Entrada:
long long n = 12321;

Saída esperada:
bool expected = true;
Entrada:
long n = 12321;

Saída esperada:
bool expected = true;

Explicação

12321 invertido é 12321.

Exemplo 2
Entrada:
n = -121

Saída esperada:
expected = False
Entrada:
long long n = -121;

Saída esperada:
bool expected = false;
Entrada:
long n = -121;

Saída esperada:
bool expected = false;

Explicação

O sinal de menos faz com que "-121" seja diferente de "121-".

Como abordar

Tente sozinho primeiro e depois abra uma dica de cada vez.

Dica 1

Um número negativo não pode ser palíndromo por causa do sinal de menos.

Dica 2

Compare os dígitos do número dos dois lados em vez de converter sem necessidade.

Dica 3

Números de um dígito sempre são palíndromos.

Complexidade esperada

tempo O(log n), espaço extra O(1)

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.