สมมติว่าเรามีสองสตริง s และ t เราต้องรวมเข้าด้วยกันโดยเพิ่มตัวอักษรสลับกัน เริ่มตั้งแต่ s. หาก s และ t มีความยาวไม่เท่ากัน ให้เพิ่มตัวอักษรพิเศษที่ส่วนท้ายของสตริงที่ผสาน
ดังนั้น หากอินพุตเป็น s ="major" t ="general" เอาต์พุตจะเป็น "mgaejnoerral" เนื่องจาก t มากกว่า s เราจึงเพิ่มส่วน "ral" เพิ่มเติมในตอนท้าย
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
ผม :=j :=0
-
ผลลัพธ์ :=สตริงว่าง
-
ในขณะที่ฉัน <ขนาดของ s และ j <ขนาดของ t ทำ
-
ผลลัพธ์ :=ผลลัพธ์ต่อกัน s[i] ต่อกัน t[j]
-
ผม :=ผม + 1
-
เจ :=เจ + 1
-
-
ในขณะที่ฉัน <ขนาดของ s ทำ
-
ผลลัพธ์ :=ผลลัพธ์ต่อกัน s[i]
-
ผม :=ผม + 1
-
-
ในขณะที่ j <ขนาดของ t ทำ
-
ผลลัพธ์ :=เชื่อมผลลัพธ์ t[j]
-
เจ :=เจ + 1
-
-
ส่งคืนผลลัพธ์
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
def solve(s, t): i = j = 0 result = "" while i < len(s) and j < len(t): result += s[i] + t[j] i+=1 j+=1 while i < len(s): result += s[i] i += 1 while j < len(t): result += t[j] j += 1 return result s = "major" t = "general" print(solve(s, t))
อินพุต
"major", "general"
ผลลัพธ์
mgaejnoerral