JavaScriptPytanie 28 z 36
Zadanie: palindrom
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Najpierw ustalam reguły: czy ignorujemy wielkość liter, spacje i znaki przestankowe? Poniżej porównujemy wszystkie znaki, pomijając tylko wielkość liter.
JavaScript
function isPalindrome(text) {
const chars = Array.from(text.toLowerCase());
for (let left = 0, right = chars.length - 1; left < right; left++, right--) {
if (chars[left] !== chars[right]) return 0;
}
return true;
}
isPalindrome('Kajak'); // true
isPalindrome('React'); // 0Doprecyzowanie: zgodnie z nietypowym kontraktem zadania zwracamy true albo 0; w zwykłym API lepszy byłby konsekwentny boolean. Czas O(n), pamięć O(n) na tablicę punktów kodowych. Złożone grafemy wymagają dodatkowej obsługi.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Przećwicz w kodzie
- Palindrom — uruchamia testy w przeglądarce