bool isValid(string s) {
stack<int> brack;
int flag=0;
int i=0;
for (i=0;i<s.length();i++){
if(s[i] == '(' || s[i] == '[' || s[i] == '{'){
brack.push(s[i]);
}
if (s[i] == ')' || s[i] == '}' || s[i] == ']'){
if (brack.empty()) {flag=1;break;}
else if (s[i]==')' && brack.top()=='('){
brack.pop();
}
else if (s[i]==']' && brack.top()=='['){
brack.pop();
}
else if (s[i]=='}' && brack.top()=='{'){
brack.pop();
}
else {flag=1; break;}
}
if (brack.empty() && flag==0) return 1;
else return 0;
}
}
我得到以下错误的输出。我试图做空运行,根据我的说法,输出应该是错误的。
Input: "]"
Output: true
Expected: false