逆转字符串——输入一个字符串,将其逆转并输出。
首先这里的问题在于如何使用逆转的字符串,这里有很多实现的方法:
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 ;

浙公网安备 33010602011771号