stringの文字列を反転させる方法についてまとめます。
<algorithm>ヘッダーに文字列やvectorを反転させるreverse関数があるので、
利用することで簡単に実装することができます。
文字列全体を反転させる方法
reverse関数の引数に対象文字のイテレータを渡すことができます。
最初から最後までを渡せば、すべての文字列を反転させることができます。
#include <algorithm>
#include <iostream>
using namespace std;
int main(){
string s = "abcdefg";
reverse(s.begin(), s.end());
cout << s;
return 0;
}
実行結果
gfedcba
文字列判定を指定して反転させる方法
例えば、頭の2文字目から最後から2番目の文字までを反転させたい場合は、
当たり前ですが、イテレーターを進めるので、以下のように書きます。
#include <algorithm>
#include <iostream>
using namespace std;
int main(){
string s = "abcdefg";
reverse(s.begin() + 1,s.end() - 1);
cout << s;
return 0;
}
実行結果
afedcbg