20. 有效的括號 (棧 難度1) 詳細題解
阿新 • • 發佈:2019-01-14
題目連結
棧的經典教學級題目了
class Solution {
public:
bool isValid(string s) {
if(s.length()%2 == 1)
return false; //剪枝
stack<char> tmp;
for(int i = 0; i < s.length(); i++){
if(tmp.empty() || s[i]=='(' || s[i]=='[' || s[i]=='{')
tmp. push(s[i]);
else if((tmp.top()=='('&&s[i]==')') || (tmp.top()=='['&&s[i]==']') || (tmp.top()=='{'&&s[i]=='}'))
tmp.pop();
else
tmp.push(s[i]);
}
if(tmp.empty())
return true;
else
return false;
}
};