c++でstringの文字列を反転させる方法

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です