3. Palindrom
Fráze je palindrom, když se po převedení na malá písmena a odstranění všech znaků kromě písmen a číslic čte stejně zepředu i pozpátku.
Vrať true, pokud je s palindrom. Stačí anglická abeceda (bez diakritiky).
Příklady
Vstup
s = "A man, a plan, a canal: Panama"Výstup
trueVstup
s = "race a car"Výstup
falseString si nejdřív vyčisti: s.toLowerCase().replace(/[^a-z0-9]/g, ""). Pak porovnávej znaky dvěma ukazateli – l jde zleva, r zprava.
1function isPalindrome(s: string): boolean {2 const clean = s.toLowerCase().replace(/[^a-z0-9]/g, "");3 let l = 0;4 let r = clean.length - 1;5 while (l < r) {6 if (clean[l] !== clean[r]) return false;7 l++;8 r--;9 }10 return true;11}12