Giả sử chúng ta có hai chuỗi s và t có độ dài n. Chúng ta có thể lấy một ký tự từ s và ký tự khác từ t và hoán đổi chúng. Chúng tôi có thể thực hiện số lần hoán đổi không giới hạn; chúng ta phải kiểm tra xem liệu có khả thi để làm cho hai chuỗi bằng nhau hay không.
Vì vậy, nếu đầu vào là s ="xy", t ="yx", thì đầu ra sẽ là True
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- st:=sắp xếp chuỗi sau khi nối s và t
- đối với tôi trong phạm vi từ 0 đến kích thước là st - 1, tăng thêm 2, thực hiện
- nếu st [i] không giống với st [i + 1], thì
- trả về Sai
- nếu st [i] không giống với st [i + 1], thì
- trả về True
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
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
"xy", "yx"
Đầu ra
True