Problem
Entscheide, ob text ein Palindrom ist, wobei nur Buchstaben und Ziffern berücksichtigt und die Groß- und Kleinschreibung ignoriert wird.
Implementiere is_palindrome(text).
Eingabe
text: Der zu prüfende Text (ASCII-Zeichen).
Ausgabe
Gib true zurück, wenn es sich um ein Palindrom handelt, sonst false.
Einschränkungen
0 ≤ Länge ≤ 10.000
Beispiele
Eingabe:
text = "Racecar"
Erwartete Ausgabe:
expected = True
Eingabe:
std::string text = "Racecar";
Erwartete Ausgabe:
bool expected = true;
Eingabe:
string text = "Racecar";
Erwartete Ausgabe:
bool expected = true;
Erläuterung
Klein geschrieben liest sich "racecar" in beide Richtungen gleich.
Eingabe:
text = "hello"
Erwartete Ausgabe:
expected = False
Eingabe:
std::string text = "hello";
Erwartete Ausgabe:
bool expected = false;
Eingabe:
string text = "hello";
Erwartete Ausgabe:
bool expected = false;
Erläuterung
"hello" rückwärts ergibt "olleh", was unterschiedlich ist.
So gehst du vor
Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.
Hinweis 1
Ignoriere alles, was kein Buchstabe oder keine Ziffer ist, bevor du vergleichst.
Hinweis 2
Bewege dich von beiden Enden nach innen und vergleiche die Zeichen ohne Beachtung der Groß-/Kleinschreibung.
Hinweis 3
Überspringe Satzzeichen und Leerzeichen sorgfältig, damit gültige Palindrome nicht kaputtgehen.
Erwartete Komplexität
Zeit O(n), zusätzlicher Speicher O(1)
Referenzen
Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.