2016-05-28 11 views
0

Ich möchte ein Zeichen-Array umkehren, ohne zusätzlichen Speicher mit zu sagen, bedeutet keine zusätzliche Variable und zusätzliche Array und nicht zu verwenden, jede in Funktion gebaut zu verwenden.Reverse-Zeichen-Array ohne zusätzlichen Speicher mit

Zum Beispiel gegeben Array

ist

"Dies ist ein Auto"

die Ausgabe sollte

sein

"Auto a dies"

I habe ein Stück Code geschrieben, aber es gibt eine Ausgabe wie diese

"rac a si Siht" Hier Code

for ($i = count($arr)-1; $i >= 0; $i--) 
{ 
    echo $arr[$i]; 
} 

Können wir dies durch pointer.I tun haben wirklich versucht, es zu tun, aber ich bin fest. Vielen Dank im Voraus

+0

"keine extra Variable und extra Array zu verwenden" - aber Sie haben bereits "extra" Variablen $ i und Array $ arr verwendet. – RomanPerekhrest

+0

Eigentlich $ arr ist array.yes gegeben ich benutze zusätzliche Variable, aber wie ohne zusätzliche Variable zu tun, ich bin fest mit ihm nicht bekommen Idee, wie das zu tun. –

+0

'$ arr' besteht aus einem Element mit einer einzigen Zeichenfolge' "Dies ist ein Auto" 'ODER jedes Zeichen (einschließlich Leerzeichen) ist in einem separaten Array-Element? – RomanPerekhrest

Antwort

0

Sie können nicht tun, was Sie fragen, ohne eine zusätzliche Variable zu verwenden (oder indem Sie etwas anderes aufrufen, das eine zusätzliche Variable verwendet).

Klingt wie Hausaufgaben zu mir :)

Ohne die ganze Antwort zu geben und Ihre Ausbildung zu verderben, vielleicht sollte man sich ‚die Zeichenfolge auf den Räumen split'ing, dann das Ergebnis, dass in umgekehrter Reihenfolge ausgibt?


Ok ... Vorteil des Zweifels. Wie wäre es damit (vorausgesetzt, es ist PHP?):

str_split(implode(" ", array_reverse(explode(" ",implode($arr)))));

ziemlich hässlich, und sicherlich Zuweisungen hinter der Szene zu tun, aber technisch keine zusätzlichen Variablen in Ihrem Code verwenden?

+0

dies ist keine Hausaufgabe ich wurde diese Frage im Interview gefragt, aber nicht mit der Lösung –

+0

Es braucht mindestens eine zusätzliche (skalare) Variable und ist einfacher mit zwei. – Jasen

+0

@Dave Sie sind nicht erlaubt, eine eingebaute Funktion auch zu verwenden ... können wir dieses Problem durch Zeiger tun? –

Verwandte Themen