Palindrome คือ คำ/ตัวเลข/วลี ที่อ่านจากหน้าหลังได้เหมือนกัน เช่น madam, racecar, 10801
ตรวจสอบ: กลับสตริงแล้วเท่าเดิม -> Palindrome นั่นคือ ตรวจสอบ ตัวแรก-ตัวสุดท้าย, ตัวที่2-ตัวสุดท้าย-1 ... ว่าเท่ากันหมด
Input - naman Output - string is a palindrome
Input - tutorials point Output - string is not a palindrome
ใน C++: Copy สตริงไปอีกตัว แล้วเปรียบเทียบ ตัวแรกกับตัวสุดท้าย ตัวที่2 กับตัวสุดท้าย-1 ... จนจบ ถ้าทุกคู่เท่ากัน -> Palindrome
ตัวอย่าง
#include <iostream>
#include <string.h>
using namespace std;
int main() {
char string1[] = {"naman"};
int i, length;
int flag = 0;
length = strlen(string1);
for (i = 0; i < length; i++) {
if (string1[i] != string1[length - i - 1]) {
flag = 1;
break;
}
}
if (flag == 1)
printf(" string is not a palindrome");
else
printf(" string is a palindrome");
return 0;
}ผลลัพธ์
string is a palindrome
Note - โปรแกรม Case Sensitive