------------- android培训、java培训、java博客、java学习型技术博客、期待与您交流! -------------
题目:编写字符串压缩,如aaabb压缩后就是3a2b
以上为今天看见的一个习题,想了好久,度年无数次,还是有点看不懂别人的思路,然后就自己想出来的;
中间遇到个大牛用的正则,不过我正则没及格,初学先联系下自己的逻辑,于是写下了这样一个算法。
public class Demo
{
public static void main(String[] args)
{
String str="aaabb";
StringBuilder sb=new StringBuilder();
//记录不同字符的首字符
char front=str.charAt(0);
int count=1;
for(int x=1;x<str.length();x++)
{
char after=str.charAt(x);
if(after==front)
{
count++;
continue;
}
//不相等的时候就压缩
sb.append(count).append(front);
front=after;
//记录不同字符字符出现的首次
intcount=1;
}
sb.append(count).append(front);
System.out.println(sb)
}
}
------------- android培训、java培训、java博客、java学习型技术博客、期待与您交流! -------------