本文主要是介绍NB49 牛群的秘密通信,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
描述
在一个远离人类的世界中,有一群牛正在进行秘密通信。它们使用一种特殊的括号组合作为加密通信的形式。每一组加密信息均包括以下字符:'(','{','[',')','}',']'。
加密信息需要满足以下有效性规则:
- 每个左括号必须使用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
- 每个右括号都有一个对应的相同类型的左括号。
编写一个函数,给定一个字符串 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;}
};
这篇关于NB49 牛群的秘密通信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!