字符串的括号匹配(python)

2021-08-06  本文已影响0人  Jackpot_0213

括号匹配说明

算法思路

python代码

def is_encode(str):
    # 放左右括号的栈
    bracket = '()'
    open_brackets = []
    close_brackets = [')']
    # 见一个右括号就出一个左括号
    for i in range(len(str)):
        si = str[i]
        # 如果不是括号,下一个
        if bracket.find(si) == -1:
            continue
#       如果是左括号就入栈
        if si == '(':
            open_brackets.append(si)
            continue
        # 走下下面说明就是右括号了,因为上面已经排除了不是字母和左括号了
        if len(open_brackets) == 0:
            # 现在来了个右括号,但是没有匹配的了
            return False
        #上面排除了各种情况,现在开始正常匹配了
        p = open_brackets.pop()
        if p =='(' and si ==')':
            continue
        else:
            return False

    #判断是否还有多余的左括号呀
    if len(open_brackets) > 0:
        return False
    return True
上一篇 下一篇

猜你喜欢

热点阅读