วัตถุประสงค์
สร้างฟังก์ชั่นเพื่อย้อนกลับการต่อสตริง
อินพุต
สองสตริง (ช่องว่างตัวเลขและตัวอักษร) โดยที่หนึ่งควรถูกลบสำหรับอีกสาย
- คุณสามารถสันนิษฐานได้ว่าสตริงที่จะลบจะไม่ใหญ่กว่าอีกอันหนึ่ง
เอาท์พุต
ผลที่ได้จากการลบ
การลบ
คุณควรลบหนึ่งสายจากจุดเริ่มต้นหรือจุดสิ้นสุดของสายอื่น หากสตริงนั้นมีอยู่ในการเริ่มต้นและในท้ายที่สุดคุณสามารถลบได้เพียงหนึ่งอันซึ่งจะถูกลบออกขึ้นอยู่กับคุณ
หากสตริงไม่ได้อยู่ในการเริ่มต้นหรือสิ้นสุดหรือไม่ใช่การจับคู่ที่แน่นอนมันเป็นการลบที่ไม่ถูกต้องและคุณควรส่งออกสตริงเดิม
กรณีทดสอบ
การลบที่ถูกต้อง
'abcde','ab' -> 'cde'
'abcde','cde' -> 'ab'
'abab','ab' -> 'ab'
'abcab','ab' -> 'abc' or 'cab'
'ababcde','ab' -> 'abcde'
'acdbcd','cd' -> 'acdb'
'abcde','abcde' -> ''
'abcde','' -> 'abcde'
'','' -> ''
การลบไม่ถูกต้อง (ส่งคืนสตริงต้นฉบับ)
'abcde','ae' -> 'abcde'
'abcde','aa' -> 'abcde'
'abcde','bcd' -> 'abcde'
'abcde','xab' -> 'abcde'
'abcde','yde' -> 'abcde'
อินพุตไม่ถูกต้อง (ไม่จำเป็นต้องจัดการ)
'','a' -> ''
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ!
'abcde','bcd' -> 'abcde'
สำหรับการแก้ปัญหาของฉัน
cde
? คุณหมายถึงอะไรที่ถูกต้อง? เราจำเป็นต้องตัดสินความถูกต้องของอินพุตหรือคุณหมายความว่าเราจะไม่ได้รับอินพุตที่ไม่ถูกต้องหรือไม่?