描述
在一個遠離人類的世界中,有一群牛正在進行秘密通信。它們使用一種特殊的括號組合作為加密通信的形式。每一組加密信息均包括以下字符:'(','{','[',')','}',']'。
加密信息需要滿足以下有效性規則:
- 每個左括號必須使用相同類型的右括號閉合。
- 左括號必須以正確的順序閉合。
- 每個右括號都有一個對應的相同類型的左括號。
編寫一個函數,給定一個字符串 s,判斷這群牛的加密通信是否有效。
示例1
輸入:
"({})"
返回值:
true
示例2
輸入:
"){"
返回值:
false
#include <asm-generic/errno-base.h>
#include <iterator>
#include <stack>
#include <vector>
class Solution {public:/*** 代碼中的類名、方法名、參數名已經指定,請勿修改,直接返回方法規定的值即可*** @param s string字符串* @return bool布爾型*/bool is_valid_cow_communication(string s) {if (s.size() == 0) return true;stack<char> st;for (int i = 0; i < s.size(); i++) {if (s[i] == '{' || s[i] == '[' || s[i] == '(') st.push(s[i]);else {if (s[i] == '}' && st.top() == '{' ||s[i] == ']' && st.top() == '[' ||s[i] == ')' && st.top() == '(') st.pop();else return false;}}if (st.empty()) return true;else return false;}
};