题目
给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”。比如字符串AAAABCCDAA会被编码成4A1B2C1D2A。
答案
import java.util.Scanner;
public class 重复字符编码2 {
public static void main(String[] args) {
int count=1;
Scanner sc = new Scanner(System.in);
String arr = sc.nextLine();
arr+="1";
for(int i=0;i<arr.length()-1;i++){
if(arr.charAt(i)==arr.charAt(i+1)){
count+=1;
}
else {
System.out.print(count);
System.out.print(arr.charAt(i));
count=1;
}
}
}
}
思路
给原本的字符串末尾添加一个肯定和其他字符不等的字符(例如1),巧妙解决边界问题