Menu
CoddyTech

Valid Palindrome

Bạn nhận được một chuỗi s. Chỉ giữ lại chữ cái và chữ số, xem chữ hoa và chữ thường là cùng một chữ cái, rồi xác định xem phần còn lại đọc từ trái sang phải có giống như khi đọc từ phải sang trái không. Trả về true nếu có, nếu không thì trả về false.

Bỏ qua mọi ký tự khác, chẳng hạn như ., !, ?, :, ;, - hoặc _. Nếu s không có chữ cái hay chữ số nào, sẽ không còn gì cả, và một văn bản rỗng được xem là một chuỗi đối xứng.

Hàm

isPalindrome(s: string) → boolean
sstring
văn bản cần kiểm tra, bao gồm cả dấu câu
Trả vềboolean
đúng nếu các chữ cái và chữ số trong s đọc giống nhau theo cả hai chiều, không phân biệt chữ hoa chữ thường

Ràng buộc

  • 1 ≤ s.length ≤ 5 × 104
  • s chứa các chữ cái tiếng Anh, chữ số và dấu câu . ! ? : ; - _, không có khoảng trắng.

Ví dụ

Đầu vào
s = "Was_it_a_car_or_a_cat_I_saw?"
Đầu ra
true
Giải thích
Bỏ các dấu gạch dưới và dấu chấm hỏi, rồi đổi các chữ in hoa thành chữ thường: bạn sẽ được wasitacaroracatisaw, đọc ngược lại vẫn giống như vậy.
challenge icon

Câu hỏi mở rộng

Bạn có thể xác định điều đó với bộ nhớ bổ sung O(1) mà không tạo bản sao đã làm sạch của s không?

Đặt lại code
def isPalindrome(s):
    # Viết code tại đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

s = "Was_it_a_car_or_a_cat_I_saw?"

Đầu ra mong đợi

true