Bài 13.2. Chuỗi Thám Tử - [Độ khó: Dễ]


LÀM BÀI

Points: 10 (partial)
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Bài 13.2. Chuỗi Thám Tử - [Độ khó: Dễ]

Bạn là một thám tử lão luyện và đang điều tra một vụ án bí ẩn liên quan đến các thông điệp mã hóa. Một trong những manh mối quan trọng là việc xác định liệu một chuỗi ký tự có phải là "palindrome" hay không – tức là nó đọc xuôi hay ngược đều giống nhau. Bạn cần một công cụ thông minh sử dụng đệ quy để nhanh chóng kiểm tra điều này.

INPUT FORMAT

Dòng duy nhất chứa một chuỗi S.

  • 1 <= S.length() <= 1000
  • Chuỗi S chỉ chứa các ký tự chữ cái thường ('a'-'z').
OUTPUT FORMAT

In ra "YES" nếu chuỗi S là palindrome, và "NO" nếu không.

Ví dụ:

Input:

racecar

Output:

YES

Giải thích:

  • Chuỗi "racecar" khi đọc từ trái sang phải là "racecar", và đọc từ phải sang trái cũng là "racecar". Vì chúng giống nhau nên nó là palindrome.
  • Để kiểm tra bằng đệ quy:
    • Hàm đệ quy nhận vào chuỗi S và hai chỉ số leftright.
    • Điều kiện dừng: Nếu left >= right, chuỗi con là palindrome (chuỗi rỗng hoặc một ký tự).
    • Điều kiện đệ quy: Nếu S[left] khác S[right], chuỗi không phải palindrome. Ngược lại, gọi đệ quy với left + 1right - 1.


Comments

There are no comments at the moment.

Zalo