Reverse String in Java ohne Verwendung von Temporären String -, Char-oder String-generator
Ist es möglich, reverse String
in Java, ohne Verwendung von temporären Variablen, wie String
, Char[]
oder StringBuilder
?
Nur verwenden kann int
oder int[]
.
Ist dieses Hausaufgaben? Würde nicht mit
java2s.com/Code/Java/Language-Basics/ReverseStringTest.htm
Jede Methode, die einen string umdreht würde verlassen müssen temporäre Informationen, ob oder nicht, es ist gekapselt, entfernt.
er sagte, er kann nicht StringBuffers oder wie
Möchten Sie bitten die Bewerber ein interview Frage, die Sie nicht beantworten könnte?
int
oder int[]
bilden Provisorien?java2s.com/Code/Java/Language-Basics/ReverseStringTest.htm
Jede Methode, die einen string umdreht würde verlassen müssen temporäre Informationen, ob oder nicht, es ist gekapselt, entfernt.
er sagte, er kann nicht StringBuffers oder wie
Möchten Sie bitten die Bewerber ein interview Frage, die Sie nicht beantworten könnte?
InformationsquelleAutor kaibuki | 2011-09-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausgabe:
Nur für den Spaß von ihm, natürlich mit StringBuffer besser wäre, hier ich bin die Schaffung neuer Saiten für jede Iteration, der einzige Unterschied ist, dass ich nicht die Einführung einer neuen Referenz, und ich habe nur einen int-Zähler.
InformationsquelleAutor stivlo
Objekte der Java-Klasse String sind unveränderlich, Ihre Inhalte nicht verändert werden, nachdem Sie erstellt wird.
Du wird müssen mindestens zwei temporäre Objekte - eine für das Ergebnis und einen für die Mittelstufe Werte - selbst wenn Sie einen Weg finden, Sie zu vermeiden, mit einer lokalen variable.
EDIT:
Sagte, da können Sie
int[]
Sie können in der Lage sein, zu betrügen.Seit
char
zugeordnet werden könnenint
, die Sie verwenden können,- String.charAt()
zum erstellen einerint
array mit den Zeichen die Werte in umgekehrter Reihenfolge. Oder Sie nutzen dürfenString.toCharArray()
zu bekommenchar
array kopiert werden, über Ihrenint[]
vorübergehend.Dann verwenden Sie die variable, die jeweils den Bezug zu Ihrer ursprünglichen string - (oder Ergebnis-Variablen, wenn Sie erlaubt sind) zu starten mit einem leeren string (leicht erreichbar mit einer direkten Zuordnung oder
String.substring()
) und verwendenString.concat()
zu erstellen das endgültige Ergebnis.In keinem Fall jedoch werden Sie in der Lage sein, ein vertauschen der Zeichen-statt, wie in C/C++.
EDIT 2:
Hier ist meine version, welche nicht mit StringBuffer/Bauherren intern:
InformationsquelleAutor thkala
Nur eine von vielen Möglichkeiten:
InformationsquelleAutor claymore1977
Keine temporären Variablen! 🙂
InformationsquelleAutor Eng.Fouad
Weil Sie verwenden können, eine int, die Sie zuweisen können, einen int ein char-Wert:
Müssen Sie konvertieren von int zu char zuweisen aString.charAt(2).
Ich bin sicher, Sie können es herausfinden von dort.
InformationsquelleAutor
Zuerst die Zeichenfolge angefügt, um sich in umgekehrter Weise. Nehmen Sie dann die zweite Hälfte aus.
InformationsquelleAutor Praveen Kumar
InformationsquelleAutor VIVEK
Können Sie die Verwendung der Klasse java.lang.StringBuilder:
InformationsquelleAutor Nam Vu Hoang
Ohne Sammlung,StringBulider, StringBuffer oder temp-array umkehren der Zeichenfolge. Einfach und knackig:
Ausgabe
Hoffe es hilft 🙂
InformationsquelleAutor I_Tech_Avi
InformationsquelleAutor Sugam Agarwal
Außer for-Schleife Variablen.
InformationsquelleAutor Mani Kasi