Чтобы определить, является ли строка палиндромом без учета регистра в JavaScript, вы можете использовать следующие методы:
-
Метод 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: сравнение символов с обоих концов
- Преобразуйте входную строку в нижний регистр с помощью метода
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
- Преобразуйте входную строку в нижний регистр с помощью метода