← Level 3 · Đọc hiểu & Tình huống FE
Thuật toán & giả mã Tình huống đọc hiểu Độ khó: Nâng cao Thời gian dự kiến: Khoảng 5 phút Cấp độ phù hợp: FE Level 3 (môn B)

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

Chuỗi đối xứng (palindrome) là chuỗi đọc xuôi và đọc ngược đều giống nhau. Đoạn giả mã dưới đây kiểm tra xem chuỗi s có phải là palindrome hay không.

○ kiểu luận lý: isPalindrome(chuỗi: s)
  số nguyên: left, right
  left ← 0
  right ← (độ dài của s) - 1
  while (left < right)
    if ((ký tự tại vị trí left của s) không bằng (ký tự tại vị trí right của s)) then
      return false
    endif
    left ← left + 1
    right ← right - 1
  endwhile
  return true

Từ khóa

回文かいぶんchuỗi đối xứng (palindrome)

Câu hỏi

1

Kết quả của isPalindrome("しんぶんし") là gì?

Lựa chọn

  1. true
  2. false
  3. 5
  4. Lỗi
Xem giải thích

"しんぶんし" đọc xuôi và đọc ngược đều giống nhau, nên trả về true.

2

Kết quả của isPalindrome("さくら") là gì?

Lựa chọn

  1. true
  2. false
  3. 3
  4. さくら
Xem giải thích

left=0 (さ) và right=2 (ら) không khớp nhau, nên trả về false ngay ở lần so sánh đầu tiên.

3

Tại sao điều kiện tiếp tục của vòng lặp while là "left < right"?

Lựa chọn

  1. Để dừng so sánh khi đã đến giữa chuỗi
  2. Để tính độ dài chuỗi
  3. Để tạo vòng lặp vô hạn
  4. Để đảo ngược chuỗi
Xem giải thích

Khi left và right gặp nhau (hoặc vượt qua nhau) ở giữa chuỗi, không cần so sánh thêm nữa nên vòng lặp dừng lại.

Đăng nhập để lưu kết quả

Bạn có thể đọc miễn phí nội dung, câu hỏi và giải thích. Hãy đăng nhập để lưu kết quả và đưa vào hàng ôn tập cùng phân tích điểm yếu.

Đăng nhập để lưu