经典指数          
原因
2326
浏览数
0
收藏数
 

给定一个字符串,设计一个算法消除其中承兑的括号,如果括号不成对,提示异常(error) 如(1,(2,3),(4,(5,6),7))转化为1,2,3,4,5,6,7 如(1,)2,3),(4,(5,6(,7))提示error。

     举报   纠错  
 
切换
1 个答案

#include

#include

#include

#include

using namespace std;

int main(void)

{

string s;

while(getline(cin,s))

{

stack khStack;

vector fkhVector;

bool flag = true;

for(int i=0;i

{

if(s[i] == '(')

khStack.push(s[i]);

else if(s[i] == ')')

{

//读到一个')',则从括号栈中弹出,进行匹配

if(!khStack.empty())

{

khStack.pop();

}

else

{

flag = false;

break;

}

}

else

fkhVector.push_back(s[i]);

}

if(flag == false || !khStack.empty())

cout<<"error"<

else

{

for(int i=0;i

cout<

}

}

return 0;

}

 
切换
撰写答案