算法题:除去字符串里面的括号

/*给定一个如下输入格式的字符串,(1,(2,3),(4,(5,6),7))括号内的元素可以是数字,也可以另一个括号,请实现一个算法消除嵌套的括号。比如把上面的表达式变成:(1,,2,3,4,5,6,7),如果表达式有误请报错。*/;int Grial(char *&dist,const char *str){flags = 0;dist = new char[strlen(str)+1];char *q = dist;const char *p = str;while (*p!=’\0′){if (*p == ‘(‘)flags++;if (*p == ‘)’)flags–;p++;}if (flags != 0)return -1;p = str;while (*p != ‘\0’){if (*p == ‘(‘ || *p == ‘)’){p++;continue;}else{*q++ = *p++;}}*q = ‘\0’;return 0;}int main(){char src[] = “(1,2,(3,4,5),6,(8,(9,10),11))”;char *dist = NULL;cout<<Grial(dist,src)<<endl;cout << dist;return 0;}

有理想在的地方,地狱就是天堂

算法题:除去字符串里面的括号

相关文章:

你感兴趣的文章:

标签云: