สมมติว่าเรามีสองสตริง s และ t และ r เราต้องตรวจสอบว่า r =s | t หรือ r =t + s โดยที่ | แสดงถึงการต่อกัน
ดังนั้น หากอินพุตเป็น s ="world" t ="hello" r ="helloworld" ผลลัพธ์จะเป็น True เนื่องจาก "helloworld" (r) ="hello" (t) | "โลก"
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ถ้าขนาดของ r ไม่เหมือนกับผลรวมของความยาวของ s และ t แล้ว
- คืนค่าเท็จ
- ถ้า r ขึ้นต้นด้วย s แล้ว
- ถ้า r ลงท้ายด้วย t แล้ว
- คืนค่า True
- ถ้า r ลงท้ายด้วย t แล้ว
- ถ้า r ขึ้นต้นด้วย t แล้ว
- ถ้า r ลงท้ายด้วย s แล้ว
- คืนค่า True
- ถ้า r ลงท้ายด้วย s แล้ว
- คืนค่าเท็จ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
โค้ดตัวอย่าง
def solve(s, t, r): if len(r) != len(s) + len(t): return False if r.startswith(s): if r.endswith(t): return True if r.startswith(t): if r.endswith(s): return True return False s = "world" t = "hello" r = "helloworld" print(solve(s, t, r))
อินพุต
"world", "hello", "helloworld"
ผลลัพธ์
True