一个问题

P1241 括号序列

wlmqlzm @ 2021-12-04 21:29:07

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string a;int v[105]={0};
    int i,len,j,t;
    cin>>a;
    len=a.size( );
    **for(i=0;i<len;i++)**
    if(a[i]==')')
    {
        j=i;
        while(j--)
        if(a[j]=='('&&v[j]==0)
        {
            v[i]=v[j]=1;
            break;
        }
        else if(a[j]=='['&&v[j]==0)
        break;
    }
    else if(a[i]==']')
    {
        j=i;
        while(j--)
        if(a[j]=='['&&v[j]==0)
        {
            v[i]=v[j]=1;
            break;
        }
        else if(a[j]=='('&&v[j]==0)
        break;
    }

    for(i=0;i<=len-1;i++)
    if(v[i]==1)
    cout<<a[i];
    else if(v[i]==0)
    if(a[i]==')'||a[i]=='(')
    cout<<"()";
    else if(a[i]==']'||a[i]=='[')
    cout<<"[]";
    return 0;
}

为什么第10行的for循环只能从前往后而不能从后往前遍历


|