題目:
有一個鍵盤,只有a-z的26個英文字母的輸入按鍵,現在鍵盤有兩個按鍵壞了,
按i鍵,會退格,等同於常規鍵盤的backspace鍵,
按o鍵,會撤回上一步,效果等同於win系統的ctrl+z,
要求實現一個方法,模擬鍵盤的輸出邏輯
思路:
先定義一個list類型的stack,對輸入的字符串進行處理,
處理完成後,stack中只有常規字母,和“i”(就是刪除)
然後再對上一步的list進行循環,處理,
def getBoard(strs):
stack = []
result=[]
for s in strs:
if s=="i" :
stack.append("back")
elif s=="o" and len(stack)>0:
stack.pop()
else:
stack.append(s)
for action in stack:
if action=="back" and len(result)>0:
result.pop()
else:
result.append(action)
return "".join(result)
if __name__=="__main__":
print(getBoard("zijietiaodong"))
有什麼更好的辦法大家可以提出來呀~