Torna alle sfide
Facile 0 risolte 0% di accettazione

Numero Palindromo

Verifica se un numero si legge uguale da sinistra a destra e viceversa.

Cosa imparerai

  • Invertire un numero cifra per cifra
  • Confrontare il valore invertito con l'originale
  • Gestire numeri negativi e zeri finali

Problema

Decidi se le cifre decimali di n si leggono uguali in avanti e all'indietro. I numeri negativi non sono mai palindromi a causa del segno meno.

Implementa is_palindrome_number(n).

Input

n: Il numero da verificare.

Output

Restituisci true se il numero è palindromo, altrimenti false.

Vincoli

-10¹⁸ ≤ n ≤ 10¹⁸

Esempi

Esempio 1
Input:
n = 12321

Output atteso:
expected = True
Input:
long long n = 12321;

Output atteso:
bool expected = true;
Input:
long n = 12321;

Output atteso:
bool expected = true;

Spiegazione

12321 al contrario è 12321.

Esempio 2
Input:
n = -121

Output atteso:
expected = False
Input:
long long n = -121;

Output atteso:
bool expected = false;
Input:
long n = -121;

Output atteso:
bool expected = false;

Spiegazione

Il segno meno fa sì che "-121" sia diverso da "121-".

Come affrontarlo

Prova prima da solo, poi apri un suggerimento alla volta.

Suggerimento 1

Un numero negativo non può essere palindromo a causa del segno meno.

Suggerimento 2

Confronta le cifre da entrambe le estremità invece di convertire inutilmente.

Suggerimento 3

I numeri a una cifra sono sempre palindromi.

Complessità attesa

tempo O(log n), spazio aggiuntivo O(1)

Riferimenti

Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.