括号匹配
This commit is contained in:
parent
8dc2f5e9a5
commit
f6adc921e5
50
validParentheses.cpp
Normal file
50
validParentheses.cpp
Normal 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;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user