Python面试题---给定一个字符串 {xxx[xxx{xxx}]xx{x[xxx]xxx{xxx}xx}x} 判断其中的 {}[]() 是否成对出现
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python面试题---给定一个字符串 {xxx[xxx{xxx}]xx{x[xxx]xxx{xxx}xx}x} 判断其中的 {}[]() 是否成对出现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1026字,纯文字阅读大概需要2分钟。
内容图文
给定一个字符串 {xxx[xxx{xxx}]xx{x[xxx]xxx{xxx}xx}x} 判断其中的 {} 是否成对出现
答题思路:使用堆栈进行解决
我们首先压栈一个左括号,当什么时候检测到与之对应的右括号出现时弹栈,基于这样的解题思路我们来看下具体怎么实现
class Stack:
'''定义一个数据列表用来数据传输下标_标示不被外界访问'''
def __init__(self):
self._data = []
def push(self, item):
self._data.append(item)
def pop(self):
return self._data.pop()
def get_size(self):
if len(self._data) == 0:
return True
else:
return len(self._data)
def push_data(self):
data1 = self._data
return data1
'''c创建一个测试类'''
class Test_Stack:
def setup(self):
self.stack = Stack()
'''创建一个方法传入data然后进行成对的压栈和出栈'''
def match(self, data):
for c in data:
if c in "{([":
self.stack.push(c)
elif c in "})]":
"""处理Stack中的_data无数据的情况"""
try:
self.stack.pop()
except Exception as e:
print(e)
return False
return self.stack.get_size()
def test_match(self):
test_data = "{xxxxx[dddddddd(xxxxx{ddddd}dfsfe)dfsefe]xxxx}}}"
return self.match(test_data) == True
t=Test_Stack()
t.setup()
print(t.test_match())
内容总结
以上是互联网集市为您收集整理的Python面试题---给定一个字符串 {xxx[xxx{xxx}]xx{x[xxx]xxx{xxx}xx}x} 判断其中的 {}[]() 是否成对出现全部内容,希望文章能够帮你解决Python面试题---给定一个字符串 {xxx[xxx{xxx}]xx{x[xxx]xxx{xxx}xx}x} 判断其中的 {}[]() 是否成对出现所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。