import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
char a = bf.readLine().charAt(0);
String str = bf.readLine();
if (Judge(a)) {
yasuo(str);
} else {
jieya(str);
}
}
//判断是 压缩 还是 解压缩
public static boolean Judge(char a) {
if (a == 'C') {
return true;
}
return false;
}
//压缩
public static void yasuo(String str) {
char last = str.charAt(0);
StringBuilder sb = new StringBuilder("");
int index = 1;
for (int i = 1; i < str.length(); i++) {
char now = str.charAt(i);
if (now == last) {
index++;
// 加入队列的边界一:相同且到最后
if (i == str.length() - 1)
sb.append(index);
} else {
// 边界二:发生变化
// 当数字是1时,只加入字符
if (index != 1)
sb.append(index);
sb.append(last);
last = now;// 更新上一个字符
index = 1;// 更新计数器
}
}
sb.append(last);
System.out.println(sb.toString());
}
//解压缩
public static void jieya(String str) {
int num = 0;
StringBuilder sb = new StringBuilder("");
for (int i = 0; i < str.length(); i++) {
char now = str.charAt(i);
if (now <= '9' && now >= '0') {
// 判断是不是数字,累加
num = num * 10 + (now - '0');
} else {
if (num == 0)
// 当num为零,既字符前没有数,只将字符加入字符串
sb.append(str.charAt(i));
for (int j = 0; j < num; j++) {
// 循环加字符串
sb.append(str.charAt(i));
}
num = 0;
}
}
System.out.println(sb.toString());
}
}
PAT_B_1078_Java(20分)
猜你喜欢
转载自blog.csdn.net/qq_43511405/article/details/107432091
今日推荐
周排行