C++有效的括号
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意:空字符串可被认为是有效字符串。
思路
由于要对照字符串对称位置上的括号是否对应,决定采用栈来解决这一问题,若字符串长度不为偶数则直接返回false,遍历字符串,读到前括号时入栈,读到后括号时若栈空则返回false,若栈不空则用栈顶元素与其比较,能对应则出栈,不能则返回false。最后检查栈空,若空则返回true
代码实现
class Solution {
public:
bool isValid(string s) {
if(s.size()%2!=0){
return false;