Heim > Java > javaLernprogramm > Leetcode – Top-Interview –. Gültiges Palindrom

Leetcode – Top-Interview –. Gültiges Palindrom

DDD
Freigeben: 2024-11-14 13:00:02
Original
512 Leute haben es durchsucht

Leetcode — Top Interview –. Valid Palindrome

Es ist ein einfaches Problem mit der Beschreibung:

Eine Phrase ist ein Palindrom, wenn sie nach der Umwandlung aller Großbuchstaben in Kleinbuchstaben und dem Entfernen aller nicht alphanumerischen Zeichen vorwärts und rückwärts dasselbe liest. Zu den alphanumerischen Zeichen gehören Buchstaben und Zahlen.

Gibt bei einer gegebenen Zeichenfolge „true“ zurück, wenn es sich um ein Palindrom handelt, andernfalls „false“.

Beispiel 1:

Eingabe: s = „Ein Mann, ein Plan, ein Kanal: Panama“
Ausgabe: true
Erklärung: „amanaplanacanalpanama“ ist ein Palindrom.

Beispiel 2:

Eingabe: s = „Rennen mit einem Auto“
Ausgabe: false
Erklärung: „raceacar“ ist kein Palindrom.

Beispiel 3:

Eingabe: s = " "
Ausgabe: true
Erläuterung: s ist eine leere Zeichenfolge „“, nachdem nicht-alphanumerische Zeichen entfernt wurden.
Da eine leere Zeichenfolge vorwärts und rückwärts dasselbe liest, handelt es sich um ein Palindrom.

Einschränkungen:

1 <= s.length <= 2 * 105

s bestehen nur aus druckbaren ASCII-Zeichen.

Nach dem, was ein Palindrom ist, entfernen Sie im Grunde alle Nicht-Alpha-Elemente und rufen dann auf, um die Groß-/Kleinschreibung zu verringern, und kehren zum Vergleichen zurück.

Mit Methoden und etwas Reg-Exp können Sie dies in drei Zeilen lösen:

class Solution {
    public boolean isPalindrome(String s) {
        final String reduced = s.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
        final String inverted = new StringBuilder(reduced).reverse().toString();
        return reduced.equals(inverted);
    }
}
Nach dem Login kopieren

Laufzeit: 15 ms, schneller als 22,51 % der Java-Online-Einreichungen für Valid Palindrome.

Speichernutzung: 44,8 MB, weniger als 34,15 % der Java-Online-Einreichungen für Valid Palindrome.

Das sollte als einfache und einfache Frage ausreichen, aber um eine bessere Leistung zu erzielen, könnten Sie jedes Zeichen iterieren und überprüfen und nach Bedarf entfernen und anpassen. Schauen Sie sich in diesem Fall die Saksham-Antwort auf Leetcode an (wenn Sie möchten, dass ich es im Detail erkläre). , bitte kommentieren Sie unten).

Das ist es! Wenn es sonst noch etwas zu besprechen gibt, können Sie gerne einen Kommentar hinterlassen. Wenn ich etwas verpasst habe, lassen Sie es mich wissen, damit ich es entsprechend aktualisieren kann.

Bis zum nächsten Beitrag! :)

Das obige ist der detaillierte Inhalt vonLeetcode – Top-Interview –. Gültiges Palindrom. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage