Umkehren einer Zeichenfolge ohne Verwendung von standard-Funktionen

Vor kurzem habe ich gebeten, dies in einem interview. Als ein Hochschulabsolvent, und nur die Programmierung über 2 Jahre (alle Schule), war ich an einem Verlust. Ich hatte eine vage Idee, aber ich bin mir sicher, dass ich versagt habe. Dies ist, was ich geschrieben habe:

string Reverse(string word, string reversed)
{
    if(word.length() == 0)
    {
        return reversed;
    }
    else
    {
        string temp;
        reversed = word.substr(0,1) + reversed;
        temp = word.substr(1);
        Reverse(temp, reversed);
    }

    return reversed;
}

Nun, dass ich zu Hause bin, Teste ich es, und die Rückkehr ist nur der erste Buchstabe in der Eingabe. Ich bin mir vage vertraut mit dem Konzept der Rekursion, aber ich bin offensichtlich in Ermangelung an. Jede Hilfe/Zeiger/Vorschläge werden sehr geschätzt. Danke.

BEARBEITEN:
Folgende Dennis Meng post, ich habe die folgende änderung:

string Reverse(string word, string reversed)
{
    if(word.length() == 0)
    {
        return reversed;
    }
    else
    {
        string temp;
        reversed = word.substr(0,1) + reversed;
        temp = word.substr(1);
        return Reverse(temp, reversed);
    }
}

Nun bekomme ich den richtigen Wert zurück. Danke so sehr viel.

Was ist die Frage? Haben Sie Fragen, Sie zu lösen w/ Rekursion?
Warum ist ein Reverse Funktion, die zwei Argumente?
Die Antwort würde ich schon suchen, wenn ich diese Frage in einem interview, würde man die beteiligten konstruieren einen neuen string mit einem reverse-iterator-paar. Ich werde nicht zu geben Ihnen eine volle Antwort - kann man sehen, dass sich selbst ein.
Interview-Fragen nicht zu "schwer zu beantworten". Interview soll nicht eine Konkurrenz, weil in der Regel müssen Sie ein guter Kandidat für einen job, nicht um ein champion zu werden.
sehr viel, so - es ist oft der Fall, dass er die gewissenhafte und mehr junior-completer-finisher, anstatt ein weiteres star-Entwickler mit einem riesigen ego in Ihrem team, und manchmal ist das budget beschränkt, was Sie mieten. Es ist nichts falsch mit der Erwartung zu mentor für neue team-Mitglieder - aber es hängt sehr viel auf die Umgebung und jemanden, es zu tun. Was Sie nie wollen, ist eine Haftung, die Sie dann später nur schwer brennen nicht besonders gut.

InformationsquelleAutor Renrael | 2012-08-09

Schreibe einen Kommentar