表达式合法判断
来源:互联网 发布:淘宝达人淘入口在哪里 编辑:程序博客网 时间:2024/05/20 18:44
表达式合法判断
- 参与人数:453时间限制:3秒空间限制:32768K
- 算法知识视频讲解
题目描述
写一段代码,判断一个包括'{','[','(',')',']','}'的表达式是否合法(注意看样例的合法规则。)
给定一个表达式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 A) {
vector<char> stack;
for(int i = 0;i<A.size();i++)
{
if(A[i] == '{' || A[i] == '(' || A[i] == '[')
{
stack.push_back(A[i]);
}
else if(A[i] == '}' || A[i] == ')' || A[i] == ']')
{
stack.pop_back();
}
}
return stack.empty();
}
};
方法二
class
ChkExpression {
public
:
bool chkLegal (string A) {
// write code here
int
k1=
0
, k2=
0
;
for
(
int
i=
0
;i<A.size();i++)
{
if
(A[i]==
'('
||A[i]==
'['
||A[i]==
'{'
)
{
k1++;
}
if
(A[i]==
')'
||A[i]==
']'
||A[i]==
'}'
)
{
k2++;
}
}
if
(k1==k2)
{
return
true
;
}
else
{
return
false
;
}
}
};
0 0
- 表达式的合法判断
- 表达式合法判断
- 表达式合法判断
- 【Stack】表达式合法判断
- 正则表达式判断合法IP
- [编程题]表达式合法判断
- 正则表达式 判断 邮件名合法
- 使用正则表达式判断合法的电话号码
- 使用正则表达式判断合法的电话号码
- 使用正则表达式判断合法的电话号码
- 正则表达式判断合法的电话号码
- 华为机试---表达式合法判断
- 《去哪网编程题》表达式合法判断
- 牛客网---2016---去哪儿表达式合法判断
- 判断是不是合法手机
- 判断是不是合法手机
- js判断日期合法
- js判断数字合法
- 周易六十四卦——大壮卦
- codeforces 361 div2 E. Mike and Geometry Problem
- NB-IoT标准确定,物联网将腾飞
- C++中使用STL的hashmap
- opencv 截取轮廓中的图像——实现PS中的抠图功能 Opencv extract area circled by contour
- 表达式合法判断
- opencv_关于特征点匹配的数据结构
- C/C++中static关键字详解
- UVA673Parentheses Balance
- Java通过反射获取带参数构造方法并使用
- 一个PHP+Mysql手工注入例子
- Leetcode解题笔记(Linked List)
- mysql如何随机取数据
- jQuery 事件