美文网首页
消除括号

消除括号

作者: lintong | 来源:发表于2015-02-13 11:33 被阅读56次

给定一个如下输入格式的字符串(1,(2,3),(4,(5,6),7))括号内的元素可以是数字,也可以是另一个括号,请实现一个算法消除嵌套的括号,比如把上面的表达式变成:(1,2,3,4,5,6,7),如果表达式有误请报错。

#include <string>
using namespace std;

string ElimenateBracket(const string &str){
    int counter = 0;
    string result;
    for(int i = 0; i < str.size(); ++i){
        if(str[i] == '('){
            ++counter;
        }
        else if(str[i] == ')'){
            --counter;
            if(counter < 0){
                result.clear();
                return result;
            }
        }
        else{
            result.push_back(str[i]);
        }
    }
    if(counter != 0){
        result.clear();
        return result;
    }
    result.insert(result.begin(), '(');
    result.push_back(')');
    return result;
}

int main(){
    string str("(1,(2,3),(4,(5,6),7))");
    string m = ElimenateBracket(str);
    return 0;

}

相关文章

  • 消除括号

    给定一个如下输入格式的字符串(1,(2,3),(4,(5,6),7))括号内的元素可以是数字,也可以是另一个括号,...

  • mysql 优化器链接消除笔记

    1. 嵌套链接消除 连接存在多个层次,用括号标识连接的优先次序。嵌套连接消除,就是消除嵌套的连接层次,把多个层次的...

  • MacOS开发笔记1-状态栏

    NSMenuItem当用Selector(("showAbout"))这种方式写调用方法时,多写一个括号,可以消除...

  • 【python】消除字符串的内嵌括号?

    题目:给定一个如下格式的字符串:(1,(2, 3),(4,(5,6),7)),括号内的元素可以是数字,也可以是另外...

  • 正则收集器

    匹配回复/nb@/nb:这种乱码字符,然 匹配[文字]文字[文字]括号,希望分别得到文字里面的东西 消除字符中的h...

  • Sets 集合 无序不重复元素的集

    基本功能是进行成员关系测试和消除重复元素 可以使用大括号 或者 set() 函数创建set集合 创建一个空集合必须...

  • 16-set集合

    集合set set集合是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素。集合使用大括号({})框定元素...

  • 集合set(19)

    set集合是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素。集合使用大括号({})框定元素,并以逗号进...

  • shell中各种括号的作用详解

    shell中各种括号的作用详解()、(())、[]、[[]]、{} 一、小括号,圆括号() 1、单小括号 () ①...

  • bash shell中的括号及expr用法

    在编写shell scripts时,经常会用到括号,各种括号,各种用法。 一、小括号、圆括号:() 1、单小括号。...

网友评论

      本文标题:消除括号

      本文链接:https://www.haomeiwen.com/subject/iiisxttx.html