括号匹配

This commit is contained in:
carry 2025-02-14 13:41:13 +08:00
parent 8dc2f5e9a5
commit f6adc921e5

50
validParentheses.cpp Normal file
View File

@ -0,0 +1,50 @@
#include<iostream>
#include<stack>
using namespace std;
class Solution {
public:
bool isValid(string s) {
stack<char> str;
for(auto i: s){
switch(i){
case '(':
case '{':
case '[':
str.push(i);
break;
default:
if(str.size() == 0){
return false;
}
switch(i){
case ')':
if (str.top() != '('){return false;}
else{str.pop();}
break;
case ']':
if (str.top() != '['){return false;}
else{str.pop();}
break;
case '}':
if (str.top() != '{'){return false;}
else{str.pop();}
break;
}
}
}
if(str.size() == 0){
return true;
}
else{
return false;
}
}
};
int main(){
cout << Solution().isValid("([])");
return 0;
}