薯队长写了一篇笔记草稿,请你帮忙输出最后内容。
1.输入字符包括,"(" , ")" 和 "<"和其他字符。
2.其他字符表示笔记内容。
3.()之间表示注释内容,任何字符都无效。 括号保证成对出现。
4."<"表示退格, 删去前面一个笔记内容字符。括号不受"<"影响 。
输入描述:
输入一行字符串。长度<=10000.
输出描述:
输出一行字符串,表示最终的笔记内容。
输入例子1:
Corona(Trump)USA<<<Virus
输出例子1:
CoronaVirus
测试代码1:【此时代码通过率为80%】【代码存在问题】
s = input()
lst = []
flag = True
for i in s:
if i != '(' and flag:
lst.append(i)
else:
flag = False
if i == ')':
flag = True
if i == '<':
lst.pop()
lst.pop()
print(''.join(lst))
运行效果:
测试代码2:【测试用例通过100%】
s = input()
lst = []
flag = 0
for i in s:
if i == '(':
flag += 1
continue
if flag:
if i == ')':
flag -= 1
continue
if i != '<':
lst.append(i)
else:
lst.pop()
print(''.join(lst))
运行效果:
测试代码3:【测试用例通过100%】
m = input().strip() # 返回移除字符串头尾指定的字符生成的新字符串。
stack1 = []
for i in m: # 利用栈
if i == "<":
stack1.pop()
elif i == ")":
while True:
a = stack1.pop()
if a == "(":
break
else:
stack1.append(i)
result = "".join(stack1) # ''.join(a)用于将序列中的元素以指定的字符连接生成一个新的字符串。
print(result)
运行效果: