Menu
CoddyTech

Valid Palindrome

MudahTwo pointerspython iconjava iconcpp iconc iconjs icon+10

Kamu mendapatkan sebuah string s. Pertahankan hanya huruf dan angkanya, anggap huruf besar dan huruf kecil sebagai huruf yang sama, lalu tentukan apakah hasilnya sama jika dibaca dari kiri ke kanan maupun dari kanan ke kiri. Kembalikan true jika ya dan false jika tidak.

Semua karakter lainnya, seperti ., !, ?, :, ;, -, atau _, diabaikan. Jika s sama sekali tidak memiliki huruf atau angka, tidak ada yang tersisa, dan teks kosong dianggap sebagai palindrom.

Fungsi

isPalindrome(s: string) → boolean
sstring
teks yang perlu diperiksa, termasuk tanda baca
Mengembalikanboolean
benar jika huruf dan angka pada s dibaca sama dari kedua arah, tanpa membedakan huruf besar dan kecil

Batasan

  • 1 ≤ s.length ≤ 5 × 104
  • s berisi huruf bahasa Inggris, angka, dan tanda baca . ! ? : ; - _, tanpa spasi.

Contoh

Input
s = "Was_it_a_car_or_a_cat_I_saw?"
Output
true
Penjelasan
Hilangkan garis bawah dan tanda tanya, lalu ubah huruf kapital menjadi huruf kecil: hasilnya wasitacaroracatisaw, yang sama jika dibaca terbalik.
challenge icon

Pertanyaan lanjutan

Bisakah kamu menentukan ini dengan memori tambahan O(1), tanpa membuat salinan s yang sudah dibersihkan?

Reset kode
def isPalindrome(s):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

s = "Was_it_a_car_or_a_cat_I_saw?"

Output yang diharapkan

true