考察知识点: 栈
题目分析:
当栈中有元素
并且栈顶元素
与现在所访问的字符
相匹配即可将栈顶元素出栈
,否则将这个字符入栈
。在访问完所有的字符后,如果栈中还剩下几个元素,那么说明没有
匹配成功,否则说明匹配成功。
所用编程语言: C++
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return bool布尔型 */ bool is_valid_cow_communication(string s) { // write code here int size = s.size(); if (!size) return false; stack<char> stk; stk.push(s[0]); for (int i = 1; i < size; i++) { if (!stk.empty()) { if (stk.top() == '(' && s[i] == ')' || stk.top() == '{' && s[i] == '}' || stk.top() == '[' && s[i] == ']' ) { stk.pop(); continue; } } stk.push(s[i]); } if (stk.empty()) return true; return false; } };