Einfach 0 gelöst 0% Erfolgsquote

Palindrom-Zahl

Prüfe, ob eine Zahl vorwärts und rückwärts gleich gelesen wird.

Das lernst du

  • Eine Zahl Ziffer für Ziffer umkehren
  • Den umgekehrten Wert mit dem Original vergleichen
  • Negative Zahlen und Nullen am Ende behandeln

Problem

Entscheide, ob die Dezimalziffern von n vorwärts und rückwärts gelesen gleich sind. Negative Zahlen sind niemals Palindrome, da das Minuszeichen berücksichtigt wird.

Implementiere is_palindrome_number(n).

Eingabe

n: Die zu prüfende Zahl.

Ausgabe

Gib true zurück, wenn die Zahl ein Palindrom ist, andernfalls false.

Einschränkungen

-10¹⁸ ≤ n ≤ 10¹⁸

Beispiele

Beispiel 1
Eingabe:
n = 12321

Erwartete Ausgabe:
expected = True
Eingabe:
long long n = 12321;

Erwartete Ausgabe:
bool expected = true;
Eingabe:
long n = 12321;

Erwartete Ausgabe:
bool expected = true;

Erläuterung

12321 rückwärts gelesen ergibt 12321.

Beispiel 2
Eingabe:
n = -121

Erwartete Ausgabe:
expected = False
Eingabe:
long long n = -121;

Erwartete Ausgabe:
bool expected = false;
Eingabe:
long n = -121;

Erwartete Ausgabe:
bool expected = false;

Erläuterung

Das Minuszeichen sorgt dafür, dass sich "-121" von "121-" unterscheidet.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Eine negative Zahl kann wegen des Minuszeichens kein Palindrom sein.

Hinweis 2

Vergleiche die Ziffern der Zahl von beiden Enden statt unnötig umzuwandeln.

Hinweis 3

Einstellige Zahlen sind immer Palindrome.

Erwartete Komplexität

Zeit O(log n), zusätzlicher Speicher O(1)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.