Almost Palindrome
الدرس 2 من 3 في دورة تحديات البرمجة للمقابلات - الحزمة الأولى على Coddy.
الـ palindrome (المتناظر) هي سلسلة نصية تُقرأ بنفس الطريقة من البداية إلى النهاية ومن النهاية إلى البداية.
على سبيل المثال:
"racecar"، و "mom"، و "madam" كلها متناظرات (palindromes)، بينما "father" ليست كذلك.
الـ almost palindrome (شبه المتناظر) هي سلسلة نصية تكون إما متناظرة، أو يمكن تحويلها إلى متناظرة عن طريق تغيير حرف واحد على الأكثر فيها.
على سبيل المثال:
"racecar"، و "mom"، و "madam" كلها أشباه متناظرات لأنها متناظرة أيضاً.
"racebar" هي أيضاً شبه متناظرة، لأنه يمكن تحويلها إلى متناظرة عن طريق تغيير الحرف 'b' إلى الحرف 'c' (أو العكس، بتغيير 'c' إلى 'b').
"abcdcab" ليست شبه متناظرة، لأنه لكي تتحول إلى متناظرة، فإنها تحتاج إلى تغيير حرفين على الأقل.
التحدي
متوسطاكتب دالة باسم isAlmostPalindrome تستقبل سلسلة نصية كمدخل، وتعيد true إذا كانت السلسلة النصية شبه متناظرة (almost a palindrome)، وتعيد false بخلاف ذلك.
جرّب بنفسك
#include <stdbool.h>
#include <string.h>
bool isAlmostPalindrome(char* s) {
// اكتب الكود هنا
}