第一题:从后往前扫描一遍,根据当前统计的'#'的数目,对每个字母向后移动相同数目的位置。 const int maxn = 1000+10; char s[maxn]; void solve() { int n = strlen(s); int cnt = 0; for(int i=n-1 ; i>=0 ; --i){ if(s[i]=='#'){ ++cnt; }else{ s[i+cnt] = s[i]; } } for(int i=0 ; i<cnt ; ++i){ s[i] = '#'; } }
点赞 2

相关推荐

牛客网
牛客企业服务