python实现括号匹配总结

括号匹配问题

思路

  1. 把输入字符串转化为只含有(,),[,],{,}的字符串;
  2. 遍历新的字符串,将字符串中的(),[],{} replace为 ’ ‘(空字符),直到字符串中不再含有(),[],{}。
  3. 判断剩余的字符串是否为空,若为空,则匹配。

代码

def isValid(s):
    l = ['{','}','[',']','(',')']
    res = []
    for i in s:
        if i in l:
            res.append(i)
    resStr  = ''.join(res)
    while '()' in resStr or '{}' in resStr or '[]' in resStr:
        resStr = resStr.replace('()','').replace('{}','').replace('[]','')
    if resStr == '':
        return True
    return False

你可能感兴趣的:(算法)