최근에 인터뷰에서이 질문을 받았습니다. 최근 졸업생으로서 2 년 (모든 학교 일)에 대해서만 프로그래밍을 해오 고 있었기 때문에 나는 실망했다. 모호한 아이디어가 있었지만 실패했다고 확신합니다. 이것은 제가 작성한 것입니다 :표준 함수를 사용하지 않고 문자열 반전
이제 집에 왔으므로 테스트를하고 있습니다. 반환 값은 입력의 첫 문자뿐입니다. 나는 막연하게 재귀의 개념에 익숙하지만, 분명히 이것에서 실패하고있다. 어떤 도움/포인터/제안은 대단히 감사하겠습니다. 고맙습니다.
편집
: 데니스 멩의 게시물에 따라 , 나는 다음과 같이 변경했습니다 :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);
}
}
지금, 나는 적절한 반환 값을 얻을. 너무 감사합니다.
질문은 무엇입니까
–'Reverse' 함수가 * 두 개의 인수 *를 사용하는 이유는 무엇입니까? –
인터뷰에서이 질문을하면 회귀 반복자 쌍을 사용하여 새 문자열을 생성하는 것이 좋습니다. 나는 너에게 완전한 대답을하지 않을 것이다. 너 스스로 그것을 볼 수있다. – marko