Danh sách

Kiểm tra chuỗi đối xứng (Valid Palindrome)

Dễ
Mảng & Chuỗi (Arrays & Strings) 600ms 64MB

Một cụm từ được gọi là đối xứng (palindrome) nếu sau khi chuyển tất cả chữ hoa thành chữ thường và loại bỏ tất cả các ký tự không phải chữ số, đọc xuôi hay đọc ngược đều hoàn toàn giống nhau.

Cho một chuỗi s, hãy trả về true nếu nó là chuỗi đối xứng, ngược lại trả về false.

Ví dụ 1:

Input: s = "A man, a plan, a canal: Panama"
Output: true

Ví dụ 2:

Input: s = "race a car"
Output: false
Định Dạng Đầu Vào (Input)
Một dòng duy nhất chứa chuỗi s
Định Dạng Đầu Ra (Output)
In ra true nếu là chuỗi đối xứng, ngược lại in ra false
Ràng Buộc (Constraints)
  • 1 <= s.length <= 2 * 10^5
  • s chỉ gồm các ký tự ASCII in được.
Ví Dụ Kiểm Thử Mẫu
Ví dụ 1:
Input:
"A man, a plan, a canal: Panama"
Output:
true
Giải thích: Đọc xuôi ngược đều ra amanaplanacanalpanama
Ví dụ 2:
Input:
"race a car"
Output:
false
Giải thích: raceacar không đối xứng
Gợi ý được sắp xếp theo cấp độ tiến dần. Hãy mở từng gợi ý khi bạn thực sự cần thêm định hướng.

Giải pháp Hai Con Trỏ O(n)

Đặt 2 con trỏ: left = 0 và right = length - 1. Nhảy qua các ký tự không phải chữ số. So sánh chữ thường tại hai đầu.

Vui lòng đăng nhập

Đăng nhập tài khoản học viên để xem lịch sử nộp bài của bạn.

Đăng nhập
Ctrl + Enter: Chạy thử
Dữ liệu đầu vào (Input):
"A man, a plan, a canal: Panama"
Kết quả kỳ vọng (Expected Output):
true
Dữ liệu đầu vào (Input):
"race a car"
Kết quả kỳ vọng (Expected Output):
false
Nhập STDIN của bạn (Mỗi dòng một tham số):

Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.

Đang gửi mã và thực thi trên Sandbox Engine...
Nhấn Ctrl+Enter để chạy

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học