Loading Now

makePalindrome

Cho trước một chuỗi s gồm các chữ cái tiếng anh in thường. Minh muốn đổi duy nhất một chữ cái trong chuỗi s sao cho sau khi thực hiện thao tác đổi đó thì chuỗi s là một chuỗi đối xứng. Biết rằng một chuỗi đối xứng là một chuỗi khi viết ngược lại vẫn bằng chuỗi gốc, hãy xác định xem liệu Minh có thể thực hiện thao tác mong muốn đó không.

Ví dụ:

  • Với s = abccaa thì makePalindrome(s) = true
    Giải thích: Ta có thể đổi chữ a ở vị trí thứ 5 trong chuỗi thành b, khi đó s = abccba và thỏa mãn là chuỗi đối xứng
  • Với s = abbcca thì makePalindrome(s) = false

Đầu vào/Đầu ra:

  • [Giới hạn thời gian chạy] 0.5 giây với C++, 3 giây với Java và C#, 4 giây với Python, Go và JavaScript
  • [Đầu vào] String s
    1 ≤ s.size ≤ 15
  • [Đầu ra] Boolean
    Trả về true nếu Minh có thể biến đổi s thành một chuỗi đối xứng bằng cách thay đổi một kí tự trong s, false nếu không thể

     

Post Comment

Contact