Palindrom to ciąg znaków, który po odczytaniu od lewej do prawej i od prawej do lewej ma identyczną postać (np. "kajak", "anna"). Algorytm sprawdzający palindrom musi więc potwierdzić, że dla wszystkich pozycji i zachodzi równość znaku na pozycji i oraz znaku na pozycji symetrycznej od końca.
W praktyce spotyka się dwa typowe podejścia:
- Porównywanie symetryczne: iteracja od początku do środka napisu i porównywanie znaków na pozycjach i oraz n-1-i. Jeśli pojawi się choć jedna różnica, wynik jest negatywny.
- Odwrócenie napisu: utworzenie drugiego łańcucha będącego odwróceniem wejścia i porównanie, czy oba napisy są równe.
Odpowiedź "wprowadzono odpowiednią długość ciągu znaków" opisuje walidację (np. minimum/maksimum znaków), a nie własność palindromu. Program do palindromu może używać długości napisu pomocniczo (np. do wyznaczenia środka), ale celem nie jest sama kontrola długości.
Odpowiedź "liczba wprowadzonych znaków jest parzysta" również nie oddaje istoty zadania. Palindrom może mieć długość parzystą (np. "abba") lub nieparzystą (np. "kajak"). Parzystość nie jest warunkiem koniecznym ani wystarczającym.
Odpowiedź "ciąg znaków jest typu całkowitego" jest błędna pojęciowo: ciąg znaków (string) nie jest liczbą całkowitą. Nawet jeśli program czasem konwertuje dane, to samo sprawdzanie palindromu dotyczy porównywania znaków, a nie ustalania typu całkowitego.
Wskazówka egzaminacyjna: aby rozpoznać palindrom w kodzie, szukaj porównań znaków z "przeciwległych" stron napisu, warunku przerwania po wykryciu różnicy oraz ewentualnego porównania z odwróconym napisem.