问题:
一个表达式中包含三种括号,( ) [ ] { },且这三种括号可以按照任意次序嵌套使用。判别括号是否正确配对出现。
核心思想:
(1)扫描表达式,
(2)如果是左括号则入栈,继续扫描
(3)如果是右括号则 弹出栈顶括号 与当前右括号判断是否匹配;若匹配则继续扫描,否则返回匹配不正确,不再扫描;
(4)扫描完成后若栈为空则正确配对,否则不正确。
流程图:
一个表达式中包含三种括号,( ) [ ] { },且这三种括号可以按照任意次序嵌套使用。判别括号是否正确配对出现。
(1)扫描表达式,
(2)如果是左括号则入栈,继续扫描
(3)如果是右括号则 弹出栈顶括号 与当前右括号判断是否匹配;若匹配则继续扫描,否则返回匹配不正确,不再扫描;
(4)扫描完成后若栈为空则正确配对,否则不正确。
相关文章: