判断字符串括号{}[]()是否闭合—python实现
判断字符串闭合是一道经典的面试题,首先要知道什么样的括号是闭合的:{[{()}]()}
就是一个闭合的字符串。
{[{()}]([)]}
这个里面 ([)]
括号不对称,这种就是不闭合。
常见的解法是使用栈进行判断,代码如下:
def is_str_close():a = "{[()]}"b = []flag =0for i in a :if i=="{" or i=="[" or i=="(":b.append(i)elif i=="}" and b.pop()!="{":flag =1 elif i=="]" and b.pop()!="[":flag =1 elif i==")" and b.pop()!="(":flag =1 if len(b)!=0:flag=1 if flag==1:print("不闭合")elif flag==0:print("闭合")
还有一种是不用栈的写法,我觉得这种写法更简单更易于理解:
def is_str_close(a:string):a = "{[()]}"s1,s2,s3=0,0,0for i in range a:if i=="{":s1 += 1if i=="[":s2 += 1 if i=="(":s3 += 1 if i=="}":s1 -= 1if i=="]":s2 -= 1 if i==")":s3 -= 1 if s1!=0 or s2!=0 or s3!=0:print("不闭合")else:print("闭合")
参考文章:
判断字符串括号是否闭合(){}[]
python笔记45-经典面试题:判断字符串括号是否闭合{}[]()
判断字符串括号{}[]()是否闭合—python实现相关推荐
- aspx 判断字符串是否为decimal_python 经典面试题:判断字符串括号是否闭合{}[]()...
前言 经典面试题:判断一个字符串里面的括号是否闭合,如:{[{()}]()} 就是一个闭合的字符串. {{()}]} 这个里面 ([)] 括号不对称,这种就是不闭合. python判断闭合 解决基本思 ...
- 第2关:利用栈判断字符串括号是否匹配
#ifndef stack__h #define stack__h#include <stdio.h> #include <stdlib.h>typedef char T; / ...
- python判断字符串合法,详解Python判定IP地址合法性的三种方法 python中判断一个字符串是否是IP地址...
html 中 鼠标放在标签上会显示小手状,其它标签在其他标签上,美工给加了一些样式,鼠标放上去也显示小手状.有哪位大手状样式 有什么不懂的前端问题可以去菜鸟驿站.全都是泡沫,只一刹的花火,所谓的友情, ...
- Golang 实现 【求字符串括号合法性 判断】
题目 输入一个字符串,其中包含 [](){} 六种括号,请你判断这个字符串组成的括号是否合法. 题目示例 Input: "()[]{}" Output: trueInput: &q ...
- Python语言学习之字符串那些事:python和字符串的使用方法之详细攻略
Python语言学习之字符串那些事:python和字符串的使用方法之详细攻略 目录 python与字符串的那些事 1.字符串中只保留汉字 2.字符串的截取 3.在字符串中加入变量 4.字符串与列表转换 ...
- java判断括号是否闭合_【python每日一练】有效括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...
- Python每日一练——第6天:判断有效括号
文章目录 1. 算法描述 2. 实例说明 3. 算法思路 3. 代码实现 字符串替换法 栈 <100天精通Python从入门到就业>专栏推荐白嫖80gPython全栈视频 1. 算法描述 ...
- 前端实现括号匹配,假如字符串有且仅有[],{},(),''几种,判断字符串是否符合规格
给定一个只包括'(',')','{','}',[','],''的字符串 判断字符串是否有效 有效字符串需满足: 左括号必须用相同类型的右括号闭合 ...
- python 判断字符串是否包含另一个字符串_强烈推荐:Python字符串(string)方法整理(一)...
作者:骏马金龙 原文地址: https://www.cnblogs.com/f-ck-need-u/p/9127699.html python中字符串对象提供了很多方法来操作字符串,功能相当丰富. p ...
最新文章
- 图论 ---- 构造DFS树的思想 K - Boomerangs Gym - 102001K
- 别把你的目光停留在周围
- Maven推出强化项目:maven-mvnd,构建速度大幅提升!
- Kubernetes 第五章 YAML
- c++学习笔记(3)
- boost::fusion::find用法的测试程序
- 网络编程-之粘包现象
- 主板用什么软件测试呢,什么软件检测主板能用什么cpu
- Java Spring源代码学习之How is class annotation evaluated by Spring framework
- Mahout kmeans聚类
- 安卓DialogFragment如何使用?
- 转载--页面间大量数据参数传递
- LoraWAN协议框架和应用实例解析
- 数据库基础知识(1)--数据库php连接
- android人脸情绪识别器,Emotion Recognition微软人脸情绪识别器
- echarts饼图显示比例
- web前端开发浏览器兼容性 - 持续更新
- 独身主义也不赖:选择不结婚究竟是选择了什么?
- 公司官网前端开发经验分享
- 用c语言设计汽车零部件质检系统,C语言课程设计汽车零部件质检管理系统.doc