Mic*_*ler 2 c++ string algorithm reverse loops
我想在不使用循环的情况下反转字符串。我的循环代码如下所示:
#include <iostream>
#include <string>
using namespace std;
string reverseString(string str) {
string changedString;
int strLength = int(str.length() - 1);
for(int i {strLength}; i >= 0; i--) {
changedString.push_back(str.at(i));
}
return changedString;
}
int main() {
string str;
cout << "Enter a string to reverse it:\n" << flush;
cin >> str;
cout << reverseString(str) << flush;
}
Run Code Online (Sandbox Code Playgroud)
现在,我需要编写一个没有循环的函数。仅应使用String方法。您能帮我解决这个问题吗?
编写这样的功能非常简单
std::string reverse( const std::string &s )
{
return { s.rbegin(), s.rend() };
}
Run Code Online (Sandbox Code Playgroud)
这是一个示范节目
#include <iostream>
#include <string>
std::string reverse( const std::string &s )
{
return { s.rbegin(), s.rend() };
}
int main()
{
std::string s( "Hello World" );
std::cout << s << '\n';
std::cout << reverse( s ) << '\n';
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它的输出是
Hello World
dlroW olleH
Run Code Online (Sandbox Code Playgroud)