Проверка палиндромов без учета регистра в JavaScript: методы и примеры

Чтобы определить, является ли строка палиндромом без учета регистра в JavaScript, вы можете использовать следующие методы:

  1. Метод 1: преобразование в нижний регистр и сравнение перевернутой строки

    • Преобразуйте входную строку в нижний регистр с помощью метода toLowerCase().
    • Переверните строчную строку, используя методы split(), reverse()и join().
    • Сравните перевернутую строку с исходной строкой в ​​нижнем регистре, чтобы проверить, равны ли они. Если да, то строка представляет собой палиндром без учета регистра.

    Вот пример:

    function isCaseInsensitivePalindrome(str) {
     const lowercaseStr = str.toLowerCase();
     const reversedStr = lowercaseStr.split('').reverse().join('');
     return lowercaseStr === reversedStr;
    }
    // Example usage
    const inputString = 'Racecar';
    console.log(isCaseInsensitivePalindrome(inputString)); // Output: true
  2. Метод 2: сравнение символов с обоих концов

    • Преобразуйте входную строку в нижний регистр с помощью метода toLowerCase().
    • Используйте два указателя: один начинается с начала строки, а другой — с конца.
    • Сравнивайте символы в каждой позиции указателя, перемещая их к центру, пока они не встретятся или не пересекутся.
    • Если все символы одинаковы, независимо от регистра, строка представляет собой палиндром без учета регистра.

    Вот пример:

    function isCaseInsensitivePalindrome(str) {
     const lowercaseStr = str.toLowerCase();
     let start = 0;
     let end = lowercaseStr.length - 1;
     while (start < end) {
       if (lowercaseStr.charAt(start) !== lowercaseStr.charAt(end)) {
         return false;
       }
       start++;
       end--;
     }
     return true;
    }
    // Example usage
    const inputString = 'Level';
    console.log(isCaseInsensitivePalindrome(inputString)); // Output: true