Viết chương trình thay thế tất cả các lần xuất hiện của "lực lượng" bằng "lần đầu tiên" và tất cả các lần xuất hiện của "lần đầu tiên" bằng "lực lượng", giữ trường hợp ban đầu cho tất cả các vị trí ký tự:
"ForcefoRcefOrcE" -> "FirstfiRstfIrsT"
"FirstfiRstfIrsT" -> "ForcefoRcefOrcE"
Phần còn lại của chuỗi phải không thay đổi và vì vậy, chạy chương trình của bạn hai lần sẽ trả về chuỗi gốc:
"thirst of forces" -> "thirst of firsts" -> "thirst of forces"
Chương trình của bạn sẽ hoạt động trên bất kỳ chuỗi ban đầu. Vì vậy, như một gợi ý, tốt hơn hết bạn nên tránh sử dụng các ký tự ma thuật làm biểu diễn trung gian, bởi vì nếu bạn thử thay thế ba lượt ( "force" -> "zzzzz", "first" -> "force", "zzzzz" -> "first"
), nó sẽ thất bại trên các chuỗi chứa "zzzzz"
.
Bạn nên hỗ trợ đầy đủ các ký tự được cho phép trong định nghĩa Chuỗi bằng ngôn ngữ lập trình của bạn (trong hầu hết các trường hợp, đó là Unicode). Ví dụ: sử dụng biểu diễn kiểu JSON cho các ký tự không in được (\ u + 4 chữ số):
"\u0000\u0001\u0002\u0003the Force of the firsT"
|
V
"\u0000\u0001\u0002\u0003the First of the forcE"
[Ff]
không có người dẫn đầu thì bạn không được thay thế từ này.