比如这一坨代码,我能这样边迭代边erase吗?
还有就是S.lower_bound有可能到S.end是吧,而s.end是不可访问的?这种情况得特判?
for(;it1!=it2;it1++){
int t=*it1;
if(s[t]=='?'&&s[l2+t-l1]=='?'){
s[t]=s[l2+t-l1]='0';
it3=S.lower_bound(l2+t-l1);
S.erase(it1);
S.erase(it3);
}
else if(s[t]=='?'){
s[t]=s[l2+t-l1];
S.erase(it1);
}
}
悬赏小号关注永不取消