/ / Umkehren von Zeichen mit Rekursion - vb.net, Zeichenfolge, Rekursion

Zeichen mit Rekursion umkehren - vb.net, Zeichenfolge, Rekursion

Ich kann jedes Wort in einer Zeichenfolge umkehren undBehalten Sie auch die Reihenfolge bei, aber ich glaube, dass dies mit Rekursion schneller erledigt werden kann. Im Moment gehe ich jeden Charakter durch und drehe ihn um. Er ist nicht der beste, da er langsam sein kann, wenn der String lang ist.

Beispiel: 473hTml je31% @ 31 #

Dies würde zu lmTh374 # 13 @% 13ej führen

Jede Anleitung oder eine gute Lektüre wäre toll.

Antworten:

3 für die Antwort № 1

Verwenden Sie keine Rekursion: Es wird nicht schneller sein. Das Umkehren eines Strings ist kein Problem, das eine Rekursion erfordert.

Eigentlich hat VB.Net eine StrReverse Funktion, also würde ich dir raten, das einfach zu benutzen (kombinieren mit String.Split um Ihre Schnur in Worte zu brechen, und String.Join um sie wieder zusammen zu setzen).

Ebenfalls, Rollen Sie nicht Ihre eigene Krypto - Zumindest nicht, um etwas Ernsthaftes zu schützen.


0 für die Antwort № 2

Ich bin kein Vb-Experte, aber so etwas sollte ein guter Anfang sein.

public string reverseWord(string data) {
if (data.length == 1) {
return data;
} else {
return data.Concat(data.Substring(-1), reverseWord(data.Substring(1));
}
}

-1 für die Antwort № 3

Siehe, das rekursive BogoFlip!

Module Module1
Private rnd As New Random
Dim str As String = "testing"

Sub Main()
Console.WriteLine(str & "     " & BogoFlip(str))
Console.ReadLine()
End Sub

Public Function BogoFlip(originalString As String) As String
Dim copy As String = originalString
Dim flipped As String = ""
Do Until copy.Length = 0
Dim index As Integer = rnd.Next(copy.Length)
flipped &= copy(index)
copy = copy.Remove(index, 1)
Loop
If flipped = StrReverse(originalString) Then
Return flipped
Else
Return BogoFlip(originalString)
End If
End Function
End Module

Bitte tu das nicht im wirklichen Leben ... bitte bitte bitte bitte.