„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Palindrom überprüft eine Zeichenfolge

Palindrom überprüft eine Zeichenfolge

Veröffentlicht am 29.07.2024
Durchsuche:759

Palindrome check a string

Dieses kommt ziemlich häufig vor. Hört sich schwierig an, ist aber nicht wirklich schlimm, wenn man es einmal durchdenkt.

Schreiben Sie eine Golang-Funktion, um zu prüfen, ob eine Zeichenfolge ein Palindrom ist.

Ein Palindrom ist eine Folge von Zeichen, die auch umgekehrt gleich sind, zum Beispiel:

  • "aba" ist ein Palindrom

  • "abb ist nicht

  • "ab a" wird von den meisten als Palindrom angesehen, daher ignorieren wir Leerzeichen.

func PalindromeCheck(str string) bool {
    trimmedStr := strings.ReplaceAll(str, " ", "")
    len := len(trimmedStr)
    chars := []rune(trimmedStr)
    for i := 0; i 



Diese Lösung ist funktional dieselbe, die Sie bei der Online-Suche für C oder Java finden. Wir verwenden im Wesentlichen Doppelzeiger, um vom Anfang bis zum Ende zu durchlaufen und nach einem nicht übereinstimmenden Zeichen zu suchen. Wenn eine Nichtübereinstimmung festgestellt wird, können wir erklären, dass die Zeichenfolge kein Palindrom ist.

Können wir es besser machen?
Gibt es eine bessere Möglichkeit, Leerzeichen zu entfernen, als strings.ReplaceAll zu verwenden? (Das gibt es, aber es kann hässlich werden)
Wie sieht es mit der Effizienz der Umwandlung in eine []Rune aus? Gibt es einen besseren Weg?

Posten Sie Ihre Gedanken in den Kommentaren.

Danke!

Der Code für diesen Beitrag und alle Beiträge dieser Serie finden Sie hier

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/johnscode/palindrome-check-a-string-3g4c?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3