文章

4

粉丝

29

获赞

4

访问

3.4k

头像
括号匹配问题 题解:
P1296 北京大学机试题
发布于2023年7月31日 16:09
阅读数 762

数组+栈,不管是什么先在数组中记录对应字符,即'('记录'$',')'记录'?',不是这两种记录空格。当字符串是右括号时,先标记,然后查看栈顶(同时栈不为空),栈顶为左括号时,就从字符串该位置向前遍历找到第一个记录'$'的位置同时将左括号和右括号的位置都改成空格。

#include <bits/stdc++.h>
using namespace std;

int main(){
    string str;
    while(getline(cin,str)){
        char a[100];
        stack<char> s;
        int i;
        for(i=0;i<str.length();i++){
            if(str[i]!='('&&str[i]!=')'){
                a[i]=' ';
            }
            else if(str[i]=='('){
                s.push(str[i]);...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发