Cho hai chuỗi s và t cùng độ dài. Mỗi phép toán hoán đổi một ký tự của s với một ký tự của t. Kiểm tra có thể làm cho hai chuỗi giống nhau không.
Ví dụ
Đầu vào: s = "xy", t = "yx".
Đầu ra: True.
Thuật toán
- Ghép và sắp xếp chuỗi
st = sorted(s+t). - Kiểm tra từng cặp ký tự liền kề trong
st(chỉ số chẵn và lẻ): nếu khác nhau trả vềFalse. - Trả về
True.
Mã nguồn Python
class Solution:
def solve(self, s, t):
st = sorted(s + t)
for i in range(0, len(st), 2):
if st[i] != st[i+1]:
return False
return True
ob = Solution()
print(ob.solve("xy", "yx"))
Đầu vào / Đầu ra
Input: "xy", "yx"
Output: True