Wie kann man prüfen, ob ein Wort ein Palindrom ist?

7

Ich möchte eine Funktion schreiben, die überprüft, ob ein Wort ein Palindrom ist. Die Rückkehr sollte mir sagen wie

%Vor%

Die Funktion sollte das Wort (nicht als Vektor) als Argument enthalten (ich verstehe nicht wirklich, was es bedeutet)

Ich habe es versucht

%Vor%

aber

%Vor%

gibt

zurück %Vor%

Danke für jede Hilfe!

    
user2373707 10.06.2013, 20:22
quelle

7 Antworten

5

Ohne strsplit zu verwenden:

%Vor%     
BenBarnes 10.06.2013, 20:40
quelle
5
%Vor%     
asb 10.06.2013 20:27
quelle
3

Das würde funktionieren:

%Vor%

Überprüfen Sie auch das Kmisc -Paket für vermutlich schnellere Ergebnisse:

%Vor%     
eddi 10.06.2013 20:26
quelle
2
%Vor%     
baptiste 10.06.2013 20:30
quelle
1

Kann auch mit substring() und rev() functions gemacht werden:

%Vor%     
user1021713 11.06.2013 06:34
quelle
1

Hier ist eine C ++ - Implementierung:

%Vor%

Es funktioniert auch nicht mit Nicht-ASCII-Zeichenfolgen, aber es ist ungefähr 10x schneller als die reine R-Lösung:

%Vor%     
hadley 11.06.2013 12:02
quelle
1

Dafür gibt es eine Funktion in stringi package - stri_reverse

%Vor%

Nun könnte die Palindrom-Funktion so einfach sein:

%Vor%     
bartektartanus 11.04.2014 14:19
quelle

Tags und Links