解码

解码

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++;
        }
    }
posted @ 2023-01-10 17:20  TFOREVERY  阅读(24)  评论(0编辑  收藏  举报