解码
解码
(https://www.luogu.com.cn/problem/P8706)
题目看起来很简单(实际也很简单)
注意几个点就好
1.小明很有可能不写1或者写了一个0,所以判断的时候要从0去判断
2.对于数据,分有两种情况,
(1)有数字的
如果数字前边只有一个字母,那么数字代表该字母的出现次数
反之,不只一个字母,要将该字母(不包括第一个字母)记录在答案里
(2)没有数字的
代表这个字母只出现了一次
3.可以用一个新的字符串去存答案,最后输出答案就好,不需要重复的遍历了
方法代码如下
for (int i = 0; i < s.size();) {
int count = 0;
if(s[i+1] >= '0' && s[i+1] <= '9'){
count = s[i+1] - 48;
for (int j = 1; j <= count; j++) {
ss += s[i];
}
i+=2;
}else{
ss+=s[i];
i++;
}
}