Zielsetzung
Erstellen Sie eine Funktion zum Umkehren der Zeichenfolgenverkettung
Eingang
Zwei Zeichenfolgen (alphanumerisch + Leerzeichen), wobei eine für die andere subtrahiert werden soll.
- Sie können davon ausgehen, dass die zu subtrahierende Zeichenfolge niemals größer als die andere sein wird.
Ausgabe
Das Ergebnis aus der Subtraktion
Subtraktion
Sie sollten eine Zeichenfolge vom Anfang oder Ende einer anderen Zeichenfolge entfernen. Wenn die Zeichenfolge am Anfang und am Ende vorhanden ist, können Sie nur eine entfernen. Welche Zeichenfolge entfernt wird, liegt bei Ihnen.
Wenn die Zeichenfolge nicht am Anfang oder am Ende steht oder nicht exakt übereinstimmt, ist die Subtraktion ungültig und Sie sollten die ursprüngliche Zeichenfolge ausgeben.
Testfälle
Gültige Subtraktion
'abcde','ab' -> 'cde'
'abcde','cde' -> 'ab'
'abab','ab' -> 'ab'
'abcab','ab' -> 'abc' or 'cab'
'ababcde','ab' -> 'abcde'
'acdbcd','cd' -> 'acdb'
'abcde','abcde' -> ''
'abcde','' -> 'abcde'
'','' -> ''
Ungültige Subtraktion (gibt die ursprüngliche Zeichenfolge zurück)
'abcde','ae' -> 'abcde'
'abcde','aa' -> 'abcde'
'abcde','bcd' -> 'abcde'
'abcde','xab' -> 'abcde'
'abcde','yde' -> 'abcde'
Ungültige Eingabe (muss nicht bearbeitet werden)
'','a' -> ''
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes!
'abcde','bcd' -> 'abcde'
meine Lösung gebrochen hast
'ababcde', 'ab'
→ 'abcde'
als Testfall vorschlagen . Einige naive Algorithmen schlagen in diesem Fall fehl.
cde
? Was meinst du mit gültig? Müssen wir die Gültigkeit der Eingabe beurteilen oder meinen Sie, dass wir keine ungültigen Eingaben erhalten?