题目

题目

 


 

分析

写了个平淡无奇的栈处理表达式,在WA了5发后发现,我没处理空串,,,,(或者说鲁棒性差?

 


 

代码

#include <bits/stdc++.h>
using namespace std;
bool equal(char a,char b)
{
if((a=='(' && b==')') || (a=='[' && b==']')) return true;
return false;
}
int main()
{
int len,t;
string str;
cin>>t;cin.get();
while(t--)
{
int flag=1;
getline(cin,str);
stack<char> s;
for(int i=0;i<str.length();i++)
{
if(str[i]=='('||str[i]=='[')
{
s.push(str[i]);
continue;
}
if(s.empty())
{
flag=false;
break;
}
char x=s.top(); s.pop();
if(!equal(x,str[i]))
{
flag=false;
break;
}
}
if(!s.empty()) flag=false;
if(flag) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}

最新文章

  1. 【Apache大系】Apache服务器面面观
  2. C文件的格式化工具(astyle)
  3. Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化
  4. 深入理解Activity-任务,回退栈,启动模式
  5. 使用Cydia Substrate 从Native Hook Android Native世界
  6. Mybatis学习(壹)
  7. 课程助理For Windows(预览版,正方教务系统学生查分工具)
  8. Bzoj 2038: [2009国家集训队]小Z的袜子(hose) 莫队,分块,暴力
  9. 使用Python脚本获取指定格式文件列表的方法
  10. 【IOS开发】搜索和排序(好友列表,通讯录的实现,searchbar)
  11. 安装GlusterFS
  12. js正则表达式详解
  13. JAVA入门[5]-初步搭建SpringMVC站点
  14. Win10系列:C#应用控件进阶8
  15. new delate he typedef的含义
  16. Calendar代替Date常用方法小记
  17. angular 禁止缓存
  18. 行为型模式之Command模式
  19. Unity 之 如何删除Unity项目里面没用的东西??
  20. 使用函数式编程消除重复无聊的foreach代码(Scala示例)

热门文章

  1. git clone 提示输入git@xxx的密码
  2. 机器人操作系统(ROS)在线实训平台学习实验指南
  3. python基础(二)----数据类型
  4. learn go return fuction
  5. 关于dyld: Library not loaded
  6. c++ 载入内存中dll ,以及内存注入
  7. redis使用入门
  8. 【java基础】java集合之TreeMap
  9. vs2013 boost signals
  10. Elixir&#39;s keyword lists as option parameters