Cho chuỗi s biểu diễn các ký tự gõ vào trình soạn thảo, ký hiệu "<-" là phím backspace. Tìm trạng thái hiện tại của trình soạn thảo.
Ví dụ, s = "ilovepython<-<-ON", đầu ra "ilovepythON", vì hai backspace xóa 'o','n', rồi gõ "ON".
Các bước giải quyết:
res:= danh sách rỗng.- Duyệt từng ký tự
itrongs:- Nếu
i == '-'và phần tử cuối củareslà'<':- Xóa phần tử cuối (
'<'). - Nếu
reskhông rỗng, xóa phần tử cuối (ký tự bị xóa).
- Xóa phần tử cuối (
- Ngược lại, thêm
ivàores.
- Nếu
- Nối các phần tử trong
resvà trả về.
Ví dụ minh họa
class Solution:
def solve(self, s):
res = []
for i in s:
if i == '-' and res and res[-1] == '<':
res.pop()
if res:
res.pop()
else:
res.append(i)
return "".join(res)
ob = Solution()
print(ob.solve("ilovepython<-<-ON"))
Đầu vào
"ilovepython<-<-ON"
Đầu ra
ilovepythON