Thế nào là xâu đối xứng?

- Xâu đối xứng là khi sau đó và một xâu viết ngược lại của xâu đó bằng nhau

- VD : RADAR, TOT, GEDFDED, ... là các xâu đối xứng

- Xâu chuỗi 'TOMATO' không phải là xâu đối xứng (TOMATO <> OTMAOT)

- Ta có thể tạo được sau đối xứng với chuỗi tomato nếu thêm vào các kí tự hợp lí

- VD: TOMATOOTMAOT (thêm OTMAOT vào phía sau), hoặc TOTMAMTOT (thêm T , M ,T vào các vị trí thích hợp)

Đề bài: Hãy viết một chương trình để nhận biết xâu có phải là đối xứng hay không, nếu không thì cần thêm vào ít nhất bao nhiêu kí tự để xâu thành xâu đối xứng

Em không suy nghĩ ra được giải thuật nào tối ưu hết ngoài vét cạn, nhưng như vậy rất tốn thời gian trong khi chuỗi lại có tối 255 kí tự, các bác có ai có thuật toán hay mong được chỉ giáo ạ.