Menu
CoddyTech

Valid Palindrome

LeichtZwei Zeigerpython iconjava iconcpp iconc iconjs icon+10

Du erhältst eine Zeichenfolge s. Behalte nur ihre Buchstaben und Ziffern bei, behandle Groß- und Kleinbuchstaben als denselben Buchstaben und entscheide, ob das Übriggebliebene von links nach rechts genauso gelesen wird wie von rechts nach links. Gib true zurück, wenn das der Fall ist, andernfalls false.

Alle anderen Zeichen, wie ., !, ?, :, ;, - oder _, werden ignoriert. Wenn s überhaupt keine Buchstaben oder Ziffern enthält, bleibt nichts übrig, und ein leerer Text gilt als Palindrom.

Funktion

isPalindrome(s: string) → boolean
sstring
der zu prüfende Text, einschließlich der Zeichensetzung
Gibt zurückboolean
wahr, wenn die Buchstaben und Ziffern von s in beide Richtungen gleich gelesen werden, wobei die Groß- und Kleinschreibung ignoriert wird

Einschränkungen

  • 1 ≤ s.length ≤ 5 × 104
  • s enthält englische Buchstaben, Ziffern und die Satzzeichen . ! ? : ; - _, ohne Leerzeichen.

Beispiele

Eingabe
s = "Was_it_a_car_or_a_cat_I_saw?"
Ausgabe
true
Erklärung
Lässt man die Unterstriche und das Fragezeichen weg und schreibt die Großbuchstaben klein, erhält man wasitacaroracatisaw, was rückwärts genauso aussieht.

lock icon+25 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Kannst du das mit O(1) zusätzlichem Speicherplatz entscheiden, ohne eine bereinigte Kopie von s zu erstellen?

Code zurücksetzen
def isPalindrome(s):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

s = "Was_it_a_car_or_a_cat_I_saw?"

Erwartet

true