ตรวจสอบว่าสตริงประกอบด้วยตัวอักษรสลับกันสองตัว (alternating characters) หรือไม่
ตัวอย่าง: "XYXYXY" = valid, "ABCD" = invalid
วิธี: ตรวจสอบว่าตัวอักษรตำแหน่ง i และ i+2 เหมือนกันทุกคู่ ถ้าไม่เหมือน = false และตัวแรกไม่เท่ากับตัวที่สอง
ตัวอย่างโค้ด
#include <iostream>
using namespace std;
bool hasAlternateChars(string str) {
for (int i = 0; i < str.length() - 2; i++) {
if (str[i] != str[i + 2]) return false;
}
if (str[0] == str[1]) return false;
return true;
}
int main() {
string str = "XYXYXYX";
if (hasAlternateChars(str)) cout << "Valid String";
else cout << "Not a Valid String";
}
ผลลัพธ์
Valid String