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循环只能从前往后而不能从后往前遍历