python笔记45-经典面试题:判断字符串括号是否闭合{}[]()

python笔记45-经典面试题:判断字符串括号是否闭合{}[](),第1张

概述前言经典面试题:判断一个字符串里面的括号是否闭合,如:{[{()}]()}就是一个闭合的字符串。{[{()}]([)]}这个里面([)]括号不对称,这种就是不闭合。python判断闭合解决基本思路:先把左括号添加到一个列表里面,遇到右括号就d出列表里面的最后一个存放进去的。对比右括号和d出的 前言

经典面试题: 判断一个字符串里面的括号是否闭合,如:{[{()}]()} 就是一个闭合的字符串。
{[{()}]([)]} 这个里面 ([)] 括号不对称,这种就是不闭合。

python判断闭合

解决基本思路:先把左括号添加到一个列表里面,遇到右括号就d出列表里面的最后一个存放进去的。
对比右括号和d出的左括号是否对称,如果是就继续依次对比。
最后判断列表里面是否有多余的左括号,如果列表为空,说明全部被d出,那就是闭合的
最后考虑下左括号和右括号有多余的情况

def is_str_close(a):    '''    判断括号是否闭合    作者:上海-悠悠  QQ交流群:779429633    '''    b = []    flag = True    for i in a:        if i == "{" or i == "[" or i == "(":            # 左边的括号加进去            b.append(i)        elif i == "}":            # 遇到右边括号}d出最后面的一个{            if len(b) == 0 or b.pop() != "{":                return False        elif i == "]":            # 遇到右边括号]d出最后面的一个[            if len(b) == 0 or b.pop() != "[":                return False        elif i == ")":            # 遇到右边括号)d出最后面的一个(            if len(b) == 0 or b.pop() != "(":                return False    # 判断最后列表b里面的左边括号是否全部被d出    if len(b) != 0:        flag = False    return flagif __name__ == '__main__':    a = "{[{()}]()}"    print(is_str_close(a))    b = "({[{()}]()}"    print(is_str_close(b))    c = "{[{()}]()}]"    print(is_str_close(c))

运行结果
True
False
False

总结

以上是内存溢出为你收集整理的python笔记45-经典面试题:判断字符串括号是否闭合{}[]()全部内容,希望文章能够帮你解决python笔记45-经典面试题:判断字符串括号是否闭合{}[]()所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1185277.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存