Valid Parentheses有效的括号序列

xiaoxiao2021-02-28  82

Description Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid. Example The brackets must close in the correct order, “()” and “()[]{}” are all valid but “(]” and “([)]” are not. 思路:想到用容器vector,每次碰到左括弧,就存进容器,碰到右括弧,先判断是不是对应的括弧,然后决定是返回FALSE还是弹出左括弧。最后判断容器是否还是原来的样子,如果是就返回TRUE。

STL容器的常用子函数

class Solution { public: /* * @param s: A string * @return: whether the string is a valid parentheses */ bool isValidParentheses(string s) { // write your code here vector<char> stack; stack.push_back(' '); for (int j = 0; j < s.size(); j ++) { if (s[j] == '(' || s[j] == '[' || s[j] == '{') { stack.push_back(s[j]); continue; } if (s[j] == ')') { if (stack.back() != '(') { return false; } stack.pop_back(); } if (s[j] == ']') { if (stack.back() != '[') { return false; } stack.pop_back(); } if (s[j] == '}') { if (stack.back() != '{') { return false; } stack.pop_back(); } } if (stack.back() != ' ') return false; return true; } };
转载请注明原文地址: https://www.6miu.com/read-74268.html

最新回复(0)