สมมติว่ามีสตริง s และ t ความยาว n เราสามารถหยิบตัวอักษรหนึ่งจาก s และหนึ่งจาก t มาสลับกันได้ จำนวนครั้งไม่จำกัด ต้องตรวจสอบว่าสามารถทำให้สตริงทั้งสองเท่ากันได้หรือไม่
เช่น ถ้าอินพุตคือ s = "xy", t = "yx" ผลลัพธ์จะเป็น True
ขั้นตอนการแก้ปัญหา
- st := เรียงสตริงที่ต่อ s และ t
- for i ในช่วง 0 ถึง len(st)-1 เพิ่มทีละ 2
- ถ้า st[i] != st[i+1] คืนค่า False
- คืนค่า True
ตัวอย่างโค้ด
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"))
อินพุต
"xy", "yx"
เอาต์พุต
True