对于有求必应的小编,当然是满足大家啦。一起来看第二题的分析 。
【输入格式】
包括一行字符,即表达式。
【输出格式】
一行,即“Yes” 或“No” 。
【输入输出样例】
输入:
a*(x+y)/(x-y)#
输出:
Yes
题目网站链接:
http://go.helloworldroom.com:8072/problem/2491
再分析第二题之前,我们先了解一个概念——堆栈!
string s;
cin>>s;
我们都知道括号是成双成对的,不可能有单个的括号。所以,要判断它是否匹配,是否符合条件,只需要判断有没有和它相对应的符号即可。例如:
3*(x+y)中'(‘ 对应 ‘)’,此时需要程序输出”Yes”
x*(x/(a+b) 中外层'(‘ 没有 ‘)’对应,此时需要程序输出”No”
在该题中,以“#”作为表达式的结束符。
for(int i=0; i<s.length(); i++){
if(s[i]=='(‘)
j++;
else if(s[i]==’)’)
j–;
else if(s[i]==’#’)
break;
}
if(j==0)
cout<<“Yes”;
else
cout<<“No”;
每周六,周日上午10:00都有冬令营相关课程的免费试听课!快来预约报名吧!