[LintCode] 有效的括号序列
1 class Solution { 2 public: 3 /** 4 * @param s A string 5 * @return whether the string is a valid parentheses 6 */ 7 bool isValidParentheses(string& s) { 8 // Write your code here 9 stack<char> parens; 10 for (int i = 0; i < (int)s.length(); i++) { 11 if (s[i] == '(' || s[i] == '[' || s[i] == '{') 12 parens.push(s[i]); 13 else if (parens.empty() || !match(s[i], parens.top())) 14 return false; 15 else parens.pop(); 16 } 17 return parens.empty(); 18 } 19 private: 20 bool match(char s, char t) { 21 if (s == ')') return t == '('; 22 if (s == ']') return t == '['; 23 if (s == '}') return t == '{'; 24 } 25 };
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步