C++で回文の文字列を判定する方法


まず、回文を判定するための基本的なアルゴリズムを説明します。次に、C++でこのアルゴリズムを実装する方法を示します。

以下は、C++で回文の文字列を判定するためのシンプルな関数の例です:

#include <iostream>
#include <string>
bool isPalindrome(const std::string& str) {
    int left = 0;
    int right = str.length() - 1;
    while (left < right) {
        if (str[left] != str[right]) {
            return false;
        }
        left++;
        right--;
    }
    return true;
}
int main() {
    std::string input;
    std::cout << "文字列を入力してください: ";
    std::cin >> input;
    if (isPalindrome(input)) {
        std::cout << "回文です" << std::endl;
    } else {
        std::cout << "回文ではありません" << std::endl;
    }
    return 0;
}

この関数は、与えられた文字列が回文であるかどうかを判定します。文字列の先頭と末尾から順に比較し、異なる文字が見つかった場合は、回文ではないと判断します。

上記の例では、入力された文字列が回文であるかどうかをユーザーに表示します。もちろん、この関数は他の目的にも使用できます。

以上が、C++で回文の文字列を判定する方法のシンプルな例です。他にもさまざまな方法がありますが、この方法は初心者にも理解しやすく、実装も簡単です。