1,使用数组进行逆转。
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char const *argv[])
{
string s;
cin>>s;
for (int i = s.size()-1; i >= 0; --i)
{
cout<<s[i];
}
cout<<endl;
return 0;
}
2,使用#include <algorithm>中的reverse(s.begin(),s.end())函数进行字符串翻转。
#include <iostream>
#include <string>
#include <algorithm>
- using namespace std;
int main(int argc, char const *argv[])
{
string s;
cin>>s;
reverse(s.begin(),s.end());
cout<<s<<endl;
return 0;
}
3,使用string::reverse_iterator迭代器进行迭代使用。
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char const *argv[])
{
string str="sdfghjkl";
string::reverse_iterator rIt = str.rbegin();
while (rIt != str.rend())
{
cout << *rIt;
rIt++;
}
return 0;
}
改写成for形式。
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char const *argv[])
{
string str;
cin>>str;
string::reverse_iterator rIt ;
for (rIt = str.rbegin(); rIt != str.rend(); ++rIt)
{
cout << *rIt;
}
return 0;
}
总结:
1,对于反转字符串来说,使用数组需要注意下标;
2,使用reverse()函数是最方便的,这个算法还可以使用在其他的标准STL容器中,可以说是挺强大的;
3,使用迭代器的时候有两种迭代器,其中分别是正向迭代器和反向迭代器,这里使用了反向迭代器string::reverse_iterator rIt ;正向迭代器是string::iterator rIt ;