题解 | #字符串压缩算法#
字符串压缩算法
http://www.nowcoder.com/practice/2ff3d36b4d4a4bfeb1a7d64f3cc55c15
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.nextLine();
String res = compress(str);
System.out.println(res);
}
public static String compress(String str){
int count = 0;
String res = "";
if(str.length()==1){
res = str;
}
else{
for(int i=1; i<str.length(); i++){
String s = str.substring(i, i+1);
if(i==str.length()-1){
if(s.equals(str.substring(i-1, i))){
count++;
if(count!=0){
res += count + str.substring(i-1, i);
}
else{
res += str.substring(i-1, i);
}
}
else{
if(count!=0){
res += count + str.substring(i-1, i);
}
else{
res += str.substring(i-1, i);
}
res += s;
}
}
else{
if(s.equals(str.substring(i-1, i))){
count++;
}
else{
if(count!=0){
res += count + str.substring(i-1, i);
}
else{
res += str.substring(i-1, i);
}
count = 0;
}
}
}
}
return res;
}}
