GEEK编程练习— —有效括号问题
来源:互联网 发布:mac chill 试色 编辑:程序博客网 时间:2024/06/08 01:28
题目
给定一个字符串只包含(,),{,},[和],判断输入是否合法。括号必须按照正确顺序排列,如()和()[]是合法的,而(]和([)]不合法。
输入
()[]
输出
True
输入
([)]
输出
False
分析
利用栈stack的特性。
代码
#include <iostream>#include <string>#include <stack>using namespace std;int main(){ string str; cin >> str; string left = "([{"; string right = ")]}"; stack<char> stk; for (auto c : str) { if (left.find(c) != string::npos) { stk.push (c); } else { if (stk.empty () || stk.top () != left[right.find (c)]) { cout << "False" << endl; return 0; } else { stk.pop (); } } } if (stk.empty()) { cout << "True" << endl; } return 0;}
0 0
- GEEK编程练习— —有效括号问题
- GEEK编程练习— —有效数字
- GEEK编程练习— —罗马数字问题
- GEEK编程练习— —计数问题
- GEEK编程练习— —雨水存储问题
- GEEK编程练习— —发糖果问题
- GEEK编程练习— —螺旋矩阵
- GEEK编程练习— —zigzag矩阵
- GEEK编程练习— —字符替换
- GEEK编程练习— —格雷码
- GEEK编程练习— —回文字符串
- GEEK编程练习— —字符串匹配
- GEEK编程练习— —通配符匹配
- GEEK编程练习— —回文构词法
- GEEK编程练习— —反转整数
- GEEK编程练习— —回文整数
- GEEK编程练习— —最长回文子序列LPS
- GEEK编程练习— —数组去重
- 练习四1004
- Android学习路线
- CSS
- 浅谈学习JS和JQuery中的几点收获
- 微信小店,微店,微盟店,淘宝的区别以及微店和微商城的区别
- GEEK编程练习— —有效括号问题
- js自动触发事件
- mybatis_user_guide(4) Mapper XML 文件
- 九宫格均匀布局
- Fillder工具的简单使用
- 出现Lock-Wait锁等待,怎么解决
- 开通博客的目的
- 我的收藏
- SDCard信息查询