六十三、栈在括号匹配和表达式求值中的应用
【摘要】 @Author:Runsen
编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化。 ---- Runsen
算法,一门既不容易入门,也不容易精通的学问。
文章目录
括号匹配 数学表达式
括号匹配
这是Leetcode第20题,也是一道单调栈的简单题。
给定一个只包括'(',')',...
@Author:Runsen
编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化。 ---- Runsen
算法,一门既不容易入门,也不容易精通的学问。
括号匹配
这是Leetcode第20题,也是一道单调栈的简单题。
给定一个只包括'(',')','{','}','[',']'
的字符串,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
- 注意空字符串可被认为是有效字符串。
输入: "{[]}"
输出: true
单调栈关键在于如何入栈和出栈。
用栈保存为匹配的左括号,从左到右一次扫描字符串,当扫描到左括号时,则将其压入栈中;当扫描到右括号时,从栈顶取出一个左括号,如果能匹配上
文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。
原文链接:maoli.blog.csdn.net/article/details/111188272
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)