题意:给出包含"()"和"[]"的括号序列,判断是否合法。

用栈来完成,注意空串就行。

 #include<iostream>
#include<string>
#include<cstring>
#include<stack>
using namespace std; stack<char> sta;
string s; int solve()
{
char str;
if (s[] == ' ') return ;
else
{
int l = s.length();
for (int i = ; i < l; i++)
{
if (s[i] == '(' || s[i] == '[')
{
sta.push(s[i]);
}
else if (s[i] == ')')
{
str = ' ';
while (str != '(')
{
if (!sta.empty())
{
str = sta.top();
sta.pop();
}
else return ;
}
}
else if (s[i] == ']')
{
str = ' ';
while (str != '[')
{
if (!sta.empty())
{
str = sta.top();
sta.pop();
}
else return ;
}
}
}
}
if(!sta.empty()) return ;
else return ;
} int main()
{
int t;
cin >> t;
getchar();
while (t--)
{
while (!sta.empty()) sta.pop();
getline(cin, s);
int ans=solve();
if (ans) cout << "Yes" << endl;
else cout << "No" << endl;
}
return ;
}

最新文章

  1. 开源一款简单清爽的日历组件,JavaScript版的
  2. 【读书笔记】Asp.Net MVC 上传图片到数据库(会的绕行)
  3. UVA 10089 Repackaging 数学问题
  4. Apache按日切分日志
  5. document.compatMode属性和获取鼠标的位置
  6. C语言课程2——我们交流的工具:Coding.net
  7. SQL Server 2005的XML数据修改语言(XML DML)
  8. centos更新163源并升级内核
  9. mysql校对规则引起的不区分大小写
  10. Object Detection &#183; RCNN论文解读
  11. JavaScript 弹出窗体
  12. 关于11G DataGuard 日志传输的案例
  13. 缓存淘汰策略之LRU
  14. Redis Fun使用
  15. 使用Docker方式创建3节点的Etcd集群
  16. hashcat使用命令简介
  17. Docker:Swarms
  18. 8.15 session 有效时间, session在数据查询中最后不用
  19. Android初学-AsyncTask下载网络图片
  20. java.util.Calendar

热门文章

  1. low-rank 的相关求解方法 (CODE) Low-Rank Matrix Recovery and Completion via Convex Optimization
  2. 将halcon导出的c++程序打包成dll库
  3. Android WebView useragent
  4. 导出Excel
  5. python 中的高级函数filter()
  6. 跨域资源共享(CORS)问题解决方案
  7. hibernate的一种报错
  8. c语言调用函数打印一维数组-2-指针
  9. JavaScript之全局变量和隐式全局变量
  10. SharePoint SC &quot;Audit Settings&quot;功能与CSOM的对应