Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบว่าสตริงสองสตริงเป็นการหมุนของกันหรือไม่ใน Python

สมมติว่าเรามีสตริงภาษาอังกฤษสองสตริง s และ t ซึ่งอาจประกอบด้วยตัวพิมพ์เล็กและ/หรือตัวพิมพ์ใหญ่ เราต้องตรวจสอบว่าสตริงหนึ่งเป็นการหมุน (rotation) ของอีกสตริงหนึ่งหรือไม่

เช่น ถ้าอินพุตคือ s = "koLKAta" และ t = "KAtakoL" ผลลัพธ์จะเป็น True

ขั้นตอนการแก้ปัญหา

  1. ถ้าความยาวของ s และ t ไม่เท่ากัน ให้คืน False
  2. ต่อ s กับตัวมันเอง (s = s + s)
  3. คืน True ถ้า t พบใน s มิฉะนั้น False

ตัวอย่างโค้ด

def solve(s, t):
    if len(s) != len(t):
        return False
    s = s + s
    return True if s.find(t) != -1 else False

s = "koLKAta"
t = "KAtakoL"
print(solve(s, t))

อินพุต

"koLKAta", "KAtakoL"

เอาต์พุต

True