题解 | 小苯的IDE括号问题(easy)
小苯的IDE括号问题(easy)
https://www.nowcoder.com/practice/5e5c72d72a4443adb44b5118acc5f371
void solve(){
int n,m;cin>>n>>m;
string s;cin>>s;s="!"+s;
int p=s.find('I');
int l=p-1,r=p+1;
for(int i=1;i<=m;i++){
string op;cin>>op;
if(op=="backspace"){
if(l>=1&&r<=n&&s[l]=='('&&s[r]==')')l--,r++;
else l--;
}else r++;
}
for(int i=1;i<=l;i++)cout<<s[i];
cout<<s[p];
for(int i=r;i<=n;i++)cout<<s[i];
cout<<endl;
}
将字符串分为[1,l], [I,I], [r,n] 三个部分,按题意移动l 和 r即可
