Einfach 0 gelöst 0% Erfolgsquote

Palindrom-String

Prüfe, ob ein Text vorwärts und rückwärts gleich gelesen wird.

Das lernst du

  • Zeichen von beiden Enden vergleichen
  • Bei einem Unterschied früh aufhören
  • Leere und einzeichige Strings behandeln

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

Beispiel 1
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.

Beispiel 2
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.

Von anderen lernen

Community-Lösungen

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