Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình tìm văn bản cuối cùng trong trình soạn thảo sau gõ và xóa trong Python


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ự i trong s:
    • Nếu i == '-' và phần tử cuối của res là '<':
      • Xóa phần tử cuối ('<').
      • Nếu res không rỗng, xóa phần tử cuối (ký tự bị xóa).
    • Ngược lại, thêm i vào res.
  • Nối các phần tử trong res và 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