当前分类:python>>正文

python大厂面试题,检查字符串是否闭合

来源:互联网   时间:2022年6月15日   编辑

什么是字符串闭合?对编程有一丁点了解的朋友都知道是什么情况,大部分的编程语音都有闭合一说,表示一段逻辑从开始到结束,简单点说,闭合就是括号要成对出现。

今天给大家带来的是一个大厂的面试题。

判断一段代码中的括号是否闭合,如:

{{()}},  {[()()[]]} 就是闭合的字符串。
{{()}]} 这个里面 ([)] 括号不对称,这种就是不闭合

分析:

这个题要完成,主要是if多分支判断,以及列表中的pop()函数功能

pop()  #移除列表中的一个元素,默认最后一个,并返回这个元素对象

 

下面分享我写的一段代码

#coding:utf-8
def is_str_close(codejs):

	flag=1
	k_left=[]
	for i in codejs:
		if i=='[' or i=='(' or i=='{':
			k_left.append(i)
		elif i ==']':
			
			if len(k_left) ==0 or k_left.pop()!='[':
				flag=0
		elif i ==')':
			
			if len(k_left) ==0 or k_left.pop()!='(':
				flag=0
				break
		elif i =='}':
			
			if len(k_left) ==0 or k_left.pop()!='{':
				flag=0


	if flag==0 or len(k_left)!=0:
		print('没有闭合')
	else:
		print('闭合')

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

输出结果如下:

>>闭合

>>没有闭合

>>闭合

[猜你喜欢]

标签: 站长圈