কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে প্যালিনড্রোম স্ট্রিং চেক করা (বিল্ট-ইন ছাড়া)


সমস্যা বিবরণ

একটি স্ট্রিং দেওয়া আছে। এটি প্যালিনড্রোম (উল্টা পড়লেও একই) কিনা চেক করতে হবে। বিল্ট-ইন স্ট্রিং মেথড বা অ্যারে কনভারশন ব্যবহার করা যাবে না।

উদাহরণ: 'madam', 'dad', 'abcdcba' → true

সমাধান

const str = 'madam';

const isPalindrome = (str = '') => {
  const { length } = str;
  let start = 0, end = length - 1;
  
  while (start < end) {
    const leftChar = str[start];
    const rightChar = str[end];
    if (leftChar !== rightChar) return false;
    start++;
    end--;
  }
  return true;
};

console.log(isPalindrome(str));       // true
console.log(isPalindrome('avsssvsa')); // false

আউটপুট

true false

ব্যাখ্যা

  • টু-পয়েন্টার টেকনিক: start (শুরু) এবং end (শেষ) থেকে কেন্দ্রের দিকে।
  • ম্যাচ না হলে সাথে সাথে false।
  • লুপ শেষ হলে true।
  • টাইম: O(n), স্পেস: O(1)।
  1. জাভাস্ক্রিপ্ট ফাংশন থেকে স্ট্রিং রিটার্ন করার উপায়

  2. জাভাস্ক্রিপ্টে TypedArray.find() ফাংশন

  3. জাভাস্ক্রিপ্টে স্ট্রিংকে ফাংশনে রূপান্তর করার পদ্ধতি

  4. জাভাস্ক্রিপ্ট Array.find() ফাংশন