Almost Palindrome
Coddyの「コーディング面接チャレンジ - パック I」コースのレッスン 2/3。
回文とは、前から読んでも後ろから読んでも同じになる文字列のことです。
例えば:
"racecar"、"mom"、"madam" はすべて回文ですが、"father" は違います。
ほとんど回文とは、それ自体が回文であるか、あるいは最大1文字を変更することで回文にできる文字列のことです。
例えば:
"racecar"、"mom"、"madam" は、それら自体が回文であるため、すべて「ほとんど回文」です。
"racebar" も「ほとんど回文」です。なぜなら、'b' の文字を 'c' に変更する(またはその逆に 'c' を 'b' に変更する)ことで回文にできるからです。
"abcdcab" は「ほとんど回文」ではありません。なぜなら、回文にするためには少なくとも2文字を変更する必要があるからです。
チャレンジ
中級文字列を入力として受け取り、その文字列がほぼ回文であれば true を、そうでなければ false を返す isAlmostPalindrome という名前の関数を作成してください。
自分で試してみよう
#include <stdbool.h>
#include <string.h>
bool isAlmostPalindrome(char* s) {
// ここにコードを記述してください
}