scratch堆栈算法题目,字符括号匹配

小明和好朋友做游戏,比谁的反应快。游戏规则是有一个只包括 ‘(‘,’)’,'{‘,’}’,'[‘,’]’ 的非空字符串,要判断这个字符串是否有效。

判断标准如下:

(1)左括号必须用相同类型的右括号闭合。

(2)左括号必须以正确的顺序闭合

例如,(()[])为有效的字符串,(([)])为无效的字符串。现在我们帮助小明设计一段程序,判断输入的字符串是否有效,如果字符串有效就输出true,无效就输出false。

scratch堆栈算法括号匹配
scratch堆栈算法括号匹配

【输入描述】

输入一个字符串,存储在变量【s】中

输出 true 表示该字符串有效,false 表示该字符串无效,存储在变量【result】中

【输入样例1】(())()[}

【输出样例】false

【输入样例2】{()[]}

【输出样例】true

scratch堆栈算法解答字符括号匹配:

解题思路,基本采用的是堆栈的算法来完成。

括号匹配完整代码
括号匹配完整代码

先遍历所有的字符括号,再判断前面一部分字符括号,有相同的括号符,就加入到stack列表中,最后插入的就是栈顶的位置。

判断括号字符
判断括号字符

然后再判断另一部分,如开始遍历的字符串中,有何另外一部分的字符相等的话,我们就替换成和前面一样的,并删除它。

替换另外一部分括号字符
替换另外一部分括号字符

最后更新时间:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

上一篇 2022-10-31 16:05:51
下一篇 2022-10-31 19:41:18

相关推荐