请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。
给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。
测试样例:
“This is nowcoder”
返回:”redocwon si sihT”
#include<iostream>
using namespace std;
#include<string>
#include<algorithm>
/*string Reverse(string iniString)
{
if (iniString.empty())
return "";
//cout << "hello.."<<endl;
string::iterator start = iniString.begin();
string::iterator end = iniString.end()-1;
while (start < end)
{
swap(*start,*end);
start++;
end--;
}
return iniString;
}*/
//方式二:
string Reverse(string iniString)
{
if (iniString.empty())
return "";
reverse(iniString.begin(),iniString.end());
return iniString;
}
int main()
{
string str = "This is nowcoder";
str = Reverse(str);
cout << str <<endl;
return 0;
}