আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র যুক্তি হিসাবে একটি স্ট্রিং নেয়৷
আমাদের ফাংশনের কাজ হল স্ট্রিং-এর অক্ষরগুলির কোনও পুনর্বিন্যাস প্যালিনড্রোম স্ট্রিং-এ পরিণত হয়েছে কিনা তা পরীক্ষা করা। যদি হ্যাঁ, তাহলে আমাদের ফাংশন সত্য, অন্যথায় মিথ্যা ফেরত দেওয়া উচিত।
যেমন −
যদি ইনপুট স্ট্রিং −
হয়const str = 'amadm';
তারপর আউটপুট −
হওয়া উচিতconst output = true;
কারণ স্ট্রিংটিকে 'ম্যাডাম' গঠনের জন্য পুনর্বিন্যাস করা যেতে পারে যা একটি প্যালিনড্রোম স্ট্রিং।
উদাহরণ
এর জন্য কোড হবে −
const str = 'amadm';
const canFormPalindrome = (str = '') => {
const hash = {};
let count = 0;
for (let i = 0; i < str.length; i++) {
let c = str[i];
if(c === ' '){
continue;
};
if(hash[c]){
delete hash[c];
}else{
hash[c] = true;
};
count++;
};
if(count % 2 === 0){
return Object.keys(hash).length === 0;
}else{
return Object.keys(hash).length === 1;
};
};
console.log(canFormPalindrome(str)); আউটপুট
এবং কনসোলে আউটপুট হবে −
true