我想在C ++中反转字符串而不使用循环或除std :: string之外的任何其他类。仅应使用以下方法来反转字符串: x.at(); s.size()/ s.length(); x.substr(pos,len); 我认为使用递归可以解决此问题,但是我没有弄清楚如何正确地解决问题。
我尝试了这个版本,但是它不起作用。
string reverseWrapper(string str,int i,string stringToReturn) {
if(i < 0) return stringToReturn;
//cout << stringToReturn << '\n' << str.at(i) << '\n';
stringToReturn.push_back(str.at(i));
return reverseWrapper(str,int(str.size()) - 1,stringToReturn);
}
string reverseWithoutLoop(string str) {
string stringToReturn;
if(!(stringToReturn.length() == str.length())) {
return reverseWrapper(str,stringToReturn);
}
return stringToReturn;
}
您能帮我解决这个问题吗?