表达式合法判断(栈的使用)----去哪儿2016研发工程师编程题
来源:互联网 发布:oracle导入数据 编辑:程序博客网 时间:2024/04/30 01:33
[编程题] 表达式合法判断
写一段代码,判断一个包括'{','[','(',')',']','}'的表达式是否合法(注意看样例的合法规则。)
给定一个表达式A,请返回一个bool值,代表它是否合法。
测试样例:
"[a+b*(5-4)]*{x+b+b*({1+2)}}"
返回:true
测试样例:
"[a+b*(5-4)]*{x+b+b*(({1+2)}}"
返回:false
class ChkExpression {public: bool chkLegal(string str) { // write code here stack<char> s ; for ( int i = 0; i < str.size(); ++ i ) { if ( str[i] == "{" ) s.push( str[i] ) ; if ( str[i] == "[" ) s.push( str[i] ) ; if ( str[i] == "(" ) s.push( str[i] ) ; if ( str[i] == ")" ) s.pop() ; if ( str[i] == "]" ) s.pop() ; if ( str[i] == "}" ) s.pop() ; } return s.empty() ; }};
注意,string[i] 只能和 ‘ ’ 配合使用,不能和 “ ” 配合使用,不然会报一下错误:
0 0
- 表达式合法判断(栈的使用)----去哪儿2016研发工程师编程题
- 牛客网---2016---去哪儿表达式合法判断
- 字符串替换(string.find() 和 string.substr() 的使用)----去哪儿2016研发工程师编程题
- 文本嗅探(string.find() 的应用,string::npos 的应用)----去哪儿2016研发工程师编程题
- 乘坐公交(贪心算法)----去哪儿2016研发工程师编程题
- 血型遗传检测(pair原来没有先后顺序)----去哪儿2016研发工程师编程题
- 寻找Coder(toupper 的用法)--------去哪儿2015研发工程师笔试题
- 首个重复字符(map的用法)----去哪儿2015研发工程师笔试题
- 二分查找----去哪儿2015研发工程师笔试题
- [编程题]表达式合法判断
- 2016去哪儿校招研发编程三道
- TreeSet去重排序(华为研发工程师编程题)
- 2017去哪儿java开发工程师及编程题答案
- 《去哪网编程题》表达式合法判断
- 寻找Coder——去哪儿2015研发工程师笔试题
- 2015.10去哪儿校招面试面经-研发工程师
- 使用正则表达式判断合法的电话号码
- 使用正则表达式判断合法的电话号码
- 不使用loop创建长度为100的数组,并且元素值等于下标
- HDU 5808 BestCoder Round #86 Price List Strike Back (树状数组)
- Service层的性能优化
- LeetCode | Unique Binary Search Trees II
- Effective C++_Item10笔记
- 表达式合法判断(栈的使用)----去哪儿2016研发工程师编程题
- Effective C++_Item11笔记
- KMP
- Java的方向。。。
- POJ 3687 Labeling Balls 反向拓扑建图是个坑点
- Java单例模式详解
- leetcode 74. Search a 2D Matrix
- Memcached缓存
- HTML5audio duration返回NaN问题及歌曲切换总时间改变问题