讨论/技术交流/这段代码怎么理解?/
这段代码怎么理解?

这个代码里用了什么知识点呀

def isValid(self, s: str) -> bool:
match_dic = {')':'(', ']':'[', '}':'{'}
temp_list = []

    for ch in s:
        if ch in '([{':
            temp_list.append(ch)
        elif ch in ')]}':
            # 右括号比左括号先出现, 不能闭合
            if not temp_list:
                return False

            # 遇到右括号, 必然要与上一个左括号闭合, 如果不匹配就 False
            if match_dic[ch] == temp_list[-1]:
                temp_list.pop(-1)
            else:
                return False
    # 正常闭合的情况下, 栈里面应该全都弹出去了, 所以应该是空的
    if not temp_list:
        return True
    else:
        return False
共 0 个回复
暂无回复