level 4
乘行而归
楼主
我想aaabbbbcc转化为3a4b2c的形式,有谁能帮指正一下吗?
public static String getSqueezedString(String s) {
int count = 1; // 计数器
StringBuffer sBuffer = new StringBuffer();
char[] arr = s.toCharArray();
if (s.isEmpty() != true) {
for (int i = 0; i < arr.length-1; i++) {
boolean b1 = (arr[i] >'a' && arr[i] < 'z');
boolean b2 = (arr[i] > 'A' && arr[i] < 'Z');
//System.out.println(b1+"//////"+b2);
if (b1 || b2) {
//System.out.println("...." + arr[i] + "..." );
if(i<arr.length-1){
if (arr[i] == arr[i + 1]) {
count++;
} else {
sBuffer.append(count);
sBuffer.append(arr[i+1]);
count = 1;
}
}else if(i==arr.length-1){
sBuffer.append(count);
sBuffer.append(arr[i+1]);
}
}
}
}
s = sBuffer.toString();
return s;
}
2015年08月12日 08点08分
1
public static String getSqueezedString(String s) {
int count = 1; // 计数器
StringBuffer sBuffer = new StringBuffer();
char[] arr = s.toCharArray();
if (s.isEmpty() != true) {
for (int i = 0; i < arr.length-1; i++) {
boolean b1 = (arr[i] >'a' && arr[i] < 'z');
boolean b2 = (arr[i] > 'A' && arr[i] < 'Z');
//System.out.println(b1+"//////"+b2);
if (b1 || b2) {
//System.out.println("...." + arr[i] + "..." );
if(i<arr.length-1){
if (arr[i] == arr[i + 1]) {
count++;
} else {
sBuffer.append(count);
sBuffer.append(arr[i+1]);
count = 1;
}
}else if(i==arr.length-1){
sBuffer.append(count);
sBuffer.append(arr[i+1]);
}
}
}
}
s = sBuffer.toString();
return s;
}