题目描述
给定一个字符串,里边可能包含“()”、“[]”、“{}”三种括号,请编写程序检查该字符串中的括号是否成对出现,且嵌套关系正确。
若括号成对出现且嵌套关系正确,或该字符串中无括号字符,输出:true;
若未正确使用括号字符,输出:false。
实现时,无需考虑非法输入。
输入描述
无
输出描述
无
用例
输入 (1+2)/(0.5+1)
输出 true
说明 无
解题思路:
- 遍历字符串,遇到左括号时,将其压入栈中;遇到右括号时,判断栈顶元素是否与之匹配,若匹配则弹出栈顶元素,否则返回false。
- 遍历结束后,若栈为空,则说明括号成对出现且嵌套关系正确,返回true;否则返回false。
Java代码如下: