আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র যুক্তি হিসাবে একটি স্ট্রিং নেয়৷
আমাদের ফাংশনের কাজ হল স্ট্রিং থেকে সর্বাধিক একটি অক্ষর মুছে দিয়ে আমরা সেই স্ট্রিংটিকে প্যালিনড্রোম স্ট্রিং করতে পারি কিনা তা পরীক্ষা করা। যদি আমরা তা করতে পারি, ফাংশনটি সত্য, অন্যথায় মিথ্যা প্রত্যাবর্তন করা উচিত।
যেমন −
যদি ইনপুট স্ট্রিং −
হয়const str = 'kjlk';
তারপর আউটপুট −
হওয়া উচিতconst output = true;
কারণ স্ট্রিং থেকে 'l' মুছে দিলে শুধুমাত্র 'kjk' অবশিষ্ট থাকবে যা একটি প্যালিনড্রোম স্ট্রিং।
উদাহরণ
এর জন্য কোড হবে −
const str = 'kjlk'; const isPalindrome = (str = '', start, end) => { while (start < end) { if (str[start] != str[end]) { return false; }; start ++; end --; }; return true; }; const canMakePalindrome = (str = '') => { let left = 0, right = str.length - 1; while (left < right - 1) { if (str[left] !== str[right]) { if (isPalindrome(str, left, right - 1)) { return true; }; if (isPalindrome(str, left + 1, right)) { return true; }; return false; }else { left ++; right --; }; }; return true; } console.log(canMakePalindrome(str));
আউটপুট
এবং কনসোলে আউটপুট হবে −
true