本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。
1)定义一个函数,输入字符串,首先判断字符串是否为空字符串,若为空,则不符合题意,打印无效。
str = input(“请输入一个只包括‘(’,’)’,‘[‘,’]’,’{‘,’}’”的字符串:)
|
2)判断字符串中括号的个数,若为单数那必定是无效。
3)判断字符串中的括号是否为相同类型闭合,是否按照正确的顺序闭合。
for i in range(int(len(str))):
for j in range(len(str) - 2):
x1 = str[j] == ‘(‘ and str[j + 1] == ‘)’
x2 = str[j] == ‘[‘ and str[j + 1] == ‘]’
x3 = str[j] == ‘{‘ and str[j + 1] == ‘}’
str = str[:j] + str[j + 2]
|
此题主要需要想办法判断括号左右是否符合条件,在合适的地方跳出循环,判断字符串的长度即可,多思考多尝试对此类题也会有更深的理解。
本文分享自微信公众号 - 算法与编程之美(algo_coding)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。