ให้สตริงแทนการพิมพ์ใน editor สัญลักษณ์ "<-" แทน backspace หาข้อความที่เหลืออยู่
ตัวอย่าง: "ilovepython<-<-ON" → "ilovepythON" (ลบ 'o','n' แล้วพิมพ์ 'O','N')
อัลกอริธึม Stack
- เดินผ่านตัวอักษร: ถ้าเจอ '-' และตัวก่อนหน้าใน stack เป็น '<' → pop '<' แล้ว pop ตัวอักษรก่อนหน้า (ลบ 1 ตัว)
- มิฉะนั้น push ตัวอักษรเข้า stack
การนำไปใช้
class Solution:
def solve(self, s):
res = []
for ch in s:
if ch == '-' and res and res[-1] == '<':
res.pop() # ลบ '<'
if res:
res.pop() # ลบตัวอักษรก่อนหน้า
else:
res.append(ch)
return ''.join(res)
ob = Solution()
print(ob.solve("ilovepython<-<-ON")) # ilovepythON