aspx 判断字符串是否为decimal_python 经典面试题:判断字符串括号是否闭合{}[]()...

56334b43148f5bbd0c00b67573c56917.gif

前言

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

python判断闭合

解决基本思路:

先把左括号添加到一个列表里面,遇到右括号就弹出列表里面的最后一个存放进去的。
对比右括号和弹出的左括号是否对称,如果是就继续依次对比。

最后判断列表里面是否有多余的左括号,如果列表为空,说明全部被弹出,那就是闭合的
最后考虑下左括号和右括号有多余的情况

def is_str_close(a):
    '''
    Python学习交流QQ群:778463939
    判断括号是否闭合
    '''
    b = []
    flag = True
    for i in a:
        if i == "{" or i == "[" or i == "(":
            # 左边的括号加进去
            b.append(i)
        elif i == "}":
            # 遇到右边括号}弹出最后面的一个{
            if len(b) == 0 or b.pop() != "{":
                return False
        elif i == "]":
            # 遇到右边括号]弹出最后面的一个[
            if len(b) == 0 or b.pop() != "[":
                return False
        elif i == ")":
            # 遇到右边括号)弹出最后面的一个(
            if len(b) == 0 or b.pop() != "(":
                return False
    # 判断最后列表b里面的左边括号是否全部被弹出
    if len(b) != 0:
        flag = False
    return flag

if __name__ == '__main__':
    a = "{[{()}]()}"
    print(is_str_close(a))
    b = "({[{()}]()}"
    print(is_str_close(b))
    c = "{[{()}]()}]"
    print(is_str_close(c))

运行结果

True
False
False

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++整理程序 dev_C编程从入门到实践:C语言开发工具详解(2)

DEV C是一款经典的轻量级C语言开发工具,其安装大小只有几十兆,并且具有图形视图界面,操作比较容易。在DEV C编码界面中可以使用复制和粘贴等命令,这提高了开发效率。2.3.1安装DEV C要安装DEV C ,步骤如下。(1)在百度中搜索DEV C安装包,双击可执行的exe文件进行安装,首先弹出选择…

服务器apache远程命令,Linux实例:用socket通讯远程执行命令

以下为引用的内容:服务器端程序:/*********************************************************** server.c* 服务器端程序**********************************************************/#include#include#include#include#include#include#include#inclu…

@value注解_Java系列之注解

Java 注解(Annotation)又称之为 Java 标注、元数据,是 Java 1.5 之后加入的一种特殊语法,通过注解可以标注 Java 中的类、方法、属性、参数、包等,可以通过反射原理对这些元数据进行访问,注解的使用不会影响…

磁共振线圈分类_收藏:磁共振检查序列及临床应用总结

磁共振检查要用到序列,什么是磁共振序列(Sequence)呢? 序列,简单的讲是指具有一定带宽、一定幅度的射频脉冲与梯度脉冲的有机组合。而射频脉冲与梯度脉冲不同的组合方式构成不同的序列,不同的序列获得的图像有各自的特点。磁共振序…

css unchecked,详细介绍CSS中的伪选择器

说到伪选择器,真的让我体会到了CSS的无比强大,强大到自己貌似都不认识CSS了,有点C# 6.0中一些语法糖带给我们的震撼。。。首先我们可以在VS里面提前预览一下。可以看到,上面的伪类有很多很多,多的让我眼都快瞎了。。。…

matlab安装程序无法启动jvm_天呀!JVM居然还有2两种运行模式

概述JVM有两种运行模式Server与Client。两种模式的区别在于,Client模式启动速度较快,Server模式启动较慢;但是启动进入稳定期长期运行之后Server模式的程序运行速度比Client要快很多。这是因为Server模式启动的JVM采用的是重量级的虚拟机&…

boot idea无法识别spring_idea搭建springboot项目

Spring Boot是由Pivotal团队提供的全新框架,设计目的是用来简化新Spring应用的初始搭建以及开发过程。它主要推崇的是消灭配置’,实现零配置。那么,如何在idea中创建一个springboot项目呢?一.在你建立的工程下创建 Module 选择Spr…

台州银行登录显示服务器异常,台州银行网上银行异常问题处理

1、登陆密码没办法输,是个叉。解答:1、加载项加载(弹出窗口阻止了);2、添加安全受信任站点;3、密码控件安装。2、动态令牌版交易时手机验证码收不到解答:1、秒数不会倒数:没点好或是IE兼容性的问题&#xf…

a*算法的时间复杂度_算法的时间和空间复杂度,就是这么简单

算法(Algorithm)算法是程序用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还…

筒灯智能驱动芯片作用_魅族发布Lipro智能吸顶灯与地脚灯 解决生活照明两大痛点...

1月5日,魅族高端智能家居品牌Lipro正式发布了首期六款健康照明产品以及两款配件,分别是智能吸顶灯、筒灯、灯泡、灯带、地脚灯、橱柜灯、无极调光面板和驱动电源。该系列产品全系搭载如然之光LED光源,在实用性、外观设计以及用料材质上&#…

python爬取豆瓣电影并分析_Python爬取豆瓣电影的短评数据并进行词云分析处理

前言 对于爬虫很不陌生,而爬虫最为经典的案例就是爬取豆瓣上面的电影数据了,今天小编就介绍一下如果爬取豆瓣上面电影影评,以《我不是药神》为例。 基本环境配置 版本:Python3.6 相关模块: (1)r…

云服务器开启ftp_用云服务器怎么挂机器人

用服务器​怎么挂机器人?以往,大家大多使用个人电脑来做作为挂机使用,这不仅仅会加速电脑的老化,也需要支付高昂的电费、宽带费。那么怎么解决?使用云服务器!随着技术不断进步,现在各类应用逐步…

python带通滤波_python中的fft带通滤波器

值得注意的是,bp单位的大小不一定是以Hz为单位,而是取决于信号的采样频率,你应该使用 scipy.fftpack.fftfreq进行转换.此外,如果您的信号是真实的,您应该使用 scipy.fftpack.rfft.这是一个最小的工作示例,过滤掉低于指定数量的所有频率: import numpy as np from sc…

三个变量存在一个协整方程_三变量误差修正模型:两个解释变量,用JJ协整检验后得到以下结果,如何看这个结果?怎样做误差修正模型?...

三变量误差修正模型:两个解释变量,用JJ协整检验后得到以下结果,如何看这个结果?怎样做误差修正模型?0vldxhg2013.04.12浏览2007次分享举报Date: 01/13/12 Time: 12:06Sample (adjusted): 1989 2010Included observatio…

jquery上传图片_文件上传三种方式

来源&#xff1a;python宝典 链接&#xff1a;https://mp.weixin.qq.com/s/YUplCQDfAucA_rS8E1T6WA需求上传图片在页面显示Form表单上传<html lang"en"><head><meta charset"UTF-8"><title>Titletitle>head><body>…

python 参数收集_Python基础教程第六章 6.4.4 收集参数

def print_params(*params):print paramsprint_params(Testing)print_params(1,2,3)输出结果(Testing,)(1, 2, 3)参数前的星号将所有值放置在同一个元组中&#xff0c;并且能与普通参数联合使用def print_params_2(title,*params):print titleprint paramsprint_params_2(Param…

vue seo关键词设置_SEO关键词优化排名的几个技巧

关键词是优化网站必须要思考分析的&#xff0c;SEO网站优化过程中&#xff0c;网站的文章内容及标题优化&#xff0c;那么必须要考虑到网站的主关键词与长尾关键词了。那么&#xff0c;SEO关键词优化排名的技巧有哪些&#xff1f;下面眼前一亮就跟大家分享下SEO关键词快速排名技…

python有没有帮助_没想到,python给我的帮助竟然这么大

2012年&#xff0c;SEO行业分为两派——技术派和理论派&#xff0c;技术派认为应该深入理解搜索引擎工作原理&#xff0c;学会web开发&#xff0c;这样做SEO才能走得远;理论派则认为只要掌握理论&#xff0c;会不会编程无所谓。当时SEO人员纷纷站队&#xff0c;在各大SEO论坛上…

loadrunner录制事件为0_Oracle数据库性能监控|LoadRunner 中配置监控Oracle

Oracle 是目前世界上大型应用系统广泛使用的数据库&#xff0c;Oracle 数据库产品为财富排行榜上的前1000 家公司所采用&#xff0c;许多大型网站也选用了Oracle 系统。Oracle 内部结构比较复杂&#xff0c;如图8.1 所示&#xff0c;出现性能问题的可能性是比较大的。因此在性能…

闪退的解决方法_王者荣耀2.0不闪退需要什么手机?王者荣耀2.0闪退解决方法

[海峡网]国民级手游《王者荣耀2.0》刚刚上线不久&#xff0c;很多玩家就发现游戏的时候出现了闪退、卡顿严重等严重影响游戏体验的情况&#xff0c;虽然官方做出了补丁更新的动作&#xff0c;但是依旧有很多小伙伴注定与《王者荣耀2.0》无缘&#xff0c;那么&#xff0c;为了玩…