20.Valid Parentheses

左右括号匹配问题

方法:

1.将左括号存入队列,出现一个右括号便开始匹配。(存左匹右)

2.出现一个左括号便添加一个右括号进队列,出现一个右括号便匹配消去。(存右匹右)

代码1:

boolisValid(strings) {

    map<char,char>brackets={{'{','}'},{'[',']'},{'(',')'}};

    vector<char>stack;

    for(inti=0;i

    {

        cout<

        if(!stack.empty())

           cout<

        if(!stack.empty() &&  brackets[stack.back()]==s[i])

        {

            stack.pop_back();

            cout<<"pop"<

        }

        elseif(s[i]==')'||s[i]=='}'||s[i]==']')

        {

            cout<<"false";

            returnfalse;

        }

        else

        {

            stack.push_back(s[i]);

            cout<<"push"<

        }

    }

    if(stack.empty())

        return true;

    return false;

}

代码2:

boolisValid1(strings) {

    vector<char>stack;

    for(inti=0;i

    {

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

        {

            stack.push_back(')');

        }

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

        {

            stack.push_back(']');

        }

        elseif(s[i]=='{')

        {

            stack.push_back('}');

        }

        elseif(!stack.empty() && stack.back()==s[i])

        {

            stack.pop_back();

        }

        else

            returnfalse;

    }

    if(stack.empty())

       return true;

    return false;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大四时迷恋民谣,于是就欣欣然报了一个校外吉他培训课程,交了500块学费,就开始上上了。琴行就在学校一街之隔的小区,...
    徐了了阅读 1,612评论 0 0
  • 偏爱一种风景,一个人静静地观赏着不知疲倦。 三月的春风吹醒了大地,嫩嫩的柳芽悄悄探出头,在枝条上随风起舞的那一刻,...
    赤子天涯心阅读 1,950评论 3 4
  • 这世上没有人不讲道理,但站的角度不一样,讲的道理也就不尽相同。当别人以为我不讲道理的时候,不妨换个角度去理解,或许...
    龙腾虎跃江一龙阅读 1,365评论 0 0
  • “简书”很早就注册了,要说早好像也不是很早,不过就是一直没有很认真的开始写。而当初立下的小目标,到现在发现,也一直...
    深漂大叔阅读 2,187评论 0 1