Tips:这是一个关于上一篇文章的补充,具体内容可以查看上一篇文章
思路
为了判断带有括号的情况,我的想法是把被括号括起来的字符串单独拿出来,去掉括号后作为 E E E 重新判断 (因为括号内的内容可能是一个完整的表达式)
代码
#include<string>
#include<iostream>
using namespace std;
bool ThisE(string E); //提前声明
int find_rbrac(string B) //找到右括号的位置
{
int flag = 0;
for (int i = 1; i < B.length(); i++)
{
if (B[i] == '(')
flag++;
if (B[i] == ')')
if (flag == 0)
return i;
else
flag--;
}
return 0;
}
bool is_brackets(string S) //括号内的内容重新作为表达式E来判断
{
int pos = find_rbrac(S);
if