Přeskočit na obsah
TypeScript Ace

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

Vstups = "A man, a plan, a canal: Panama"
Výstuptrue
Vstups = "race a car"
Výstupfalse
Nápověda

String si nejdřív vyčisti: s.toLowerCase().replace(/[^a-z0-9]/g, ""). Pak porovnávej znaky dvěma ukazateli – l jde zleva, r zprava.

Ukázat řešení
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 
reseni.tsTypeScript 6.0.3
Tab odsadí · Esc a Tab opustí editor
Typová kontrola

Kód se zkontroluje automaticky, jakmile se načte TypeScript.

Testy5 testů

Napiš řešení a stiskni Spustit testy.