棧-有效括號
阿新 • • 發佈:2018-12-26
題目連結
https://leetcode-cn.com/problems/valid-parentheses/description/
題目分析:
一道水題,利用棧就好了,當遇到"[","{","("時入棧,當遇到"]"並且棧頂是"["時棧頂出棧,"}",")"同理,當以上兩種情況都不滿足時,直接無效,後面的不用判斷 ,否則最後若棧空則有效,否則無效。
class Solution { public: bool isValid(string s) { char st[10000]; int top = -1; int ok = 1; for(int i = 0;i<s.length();i++){ if(s[i] == '('||s[i]=='['||s[i]=='{'){ top++; st[top] = s[i]; } //配對成功出棧 else if(s[i] == ')'&&top!=-1&&st[top] == '(')top--; else if(s[i] == ']'&&top!=-1&&st[top]=='[')top--; else if(s[i] == '}'&&top!=-1&&st[top] == '{')top--; else {ok = 0;break;} //直接跳出 } if(ok&&top==-1)return true; else return false; } };