c++ - 使用堆栈的平衡括号
问题描述
我编写这段代码来检查平衡的刹车(例如,“{([])}”是平衡的,而“{([)]}”是不平衡的)。我不明白我的代码有什么问题..请在此处帮助函数 isBalanced 接收字符串 s,如果字符串平衡则返回 YES,否则返回 NO。这个问题来自hackerrank- https: //www.hackerrank.com/challenges /平衡括号/问题
string isBalanced(string s) {
stack<char> comp;
char temp;
int i;
for(i=s.size()-1;(s[i]=='}' ) || (s[i]==')' ) || (s[i]==']');i--)
{
comp.push(s[i]);
}
if(comp.size()!=i+1)
return ("NO");
while(!comp.empty() && i>=0)
{
temp=comp.top();
if(temp!=s[i])
return ("NO");
comp.pop();
i--;
}
return("YES");
}
解决方案
推荐阅读
- google-sheets-formula - ImortXML 过滤器
- algorithm - 寻找流网络中的最小割,我们强制某些节点位于割的某些侧面
- dataweave - 如何在 Mule 中进行部分数据更新
- html - 隐藏包含带有边框间距的粘性列的表格中的滚动内容
- ruby-on-rails - Ruby on Rails App rails 无法推送到 heroku;webpacker 错误
- java - 变量 id 可能尚未使用 lombok 初始化 Spring Boot Controller
- python - 仅打印查询
- angular - angular form control required 验证器仅在它们是表单输入时才有效
- putty - 使用 PuTTY 的 -m 参数在登录时运行脚本
- python - 将任何经过训练的模型存储在本地机器上,模型不一定是机器学习模型