สมมติว่าเรามีสตริงสองตัว s และ t เราต้องตรวจสอบว่า s เป็น suffix ของ t หรือไม่
เช่น ถ้าอินพุตเป็น s = "ate", t = "unfortunate" ผลลัพธ์จะเป็น True
ในการแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้:
- s_len := ขนาดของ s
- t_len := ขนาดของ t
- ถ้า s_len > t_len แล้ว
- คืนค่า False
- สำหรับ i ในช่วง 0 ถึง s_len ทำ
- ถ้า s[s_len - i - 1] ไม่เท่ากับ t[t_len - i - 1] แล้ว
- คืนค่า False
- ถ้า s[s_len - i - 1] ไม่เท่ากับ t[t_len - i - 1] แล้ว
- คืนค่า True
ลองดูการนำไปใช้ดังต่อไปนี้เพื่อเข้าใจได้ดียิ่งขึ้น:
ตัวอย่าง
def solve(s, t):
s_len = len(s)
t_len = len(t)
if (s_len > t_len):
return False
for i in range(s_len):
if(s[s_len - i - 1] != t[t_len - i - 1]):
return False
return True
s = "ate"
t = "unfortunate"
print(solve(s, t))
อินพุต
"ate", "unfortunate"
ผลลัพธ์
True