c++内置函数实现字符串翻转(reverse,strrev,string 构造函数)
在写程序的时候,我们经常需要将字符串进行翻转。c++中内置的函数有不少个可以实现该功能。
1.strrev函数。(cstring)
#include <iostream>#include <cstring>using namespace std;int main(){string s="abcd";strrev(s);cout<<s<<endl;return 0;}
一般算法题中不能使用,因为不包含cstring。
2.reverse函数(algorithm)
#include <iostream>#include <string>#include <algorithm>using namespace std;int main(){string s = "abcd";reverse(s.begin(),s.end());cout<<s<<endl;return 0;}
一般算法题中基本能用,偶尔不能用。因为有些题解不让使用algorithm。空间消耗小。
3.利用string构造函数(string)
#include <iostream>#include <string>#include <algorithm>using namespace std;int main() {string s = "hello";cout<<string(s.rbegin(),s.rend())<<endl;//通过string构造函数,传入原字符串的逆向迭代器。return 0;}
一般都可以用。空间消耗大。