维护一个栈
字符一个一个读进来:
遇到"("压栈,
遇到“)”弹栈,
遇到其他字符:
如果栈空,输出
否则,不输出
def rm_bracket(s):
st = []
ret = []
for x in s:
if x == '(':
st.append(x)
elif x == ')':
st.pop()
else:
if len(st) == 0:
ret.append(x)
return ''.join(ret)
if __name__ == '__main__':
print rm_bracket('(adg)B')
print rm_bracket('(g)B(a)')
print rm_bracket('B(a(s(d)))B')