题解 | #字符串压缩算法#
字符串压缩算法
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; }
}