这个技术主要用在文件压缩吧,比如111112,有5个1和1个2,于是变为5112.
理解题意比较重要。递归实现。
public class Solution {
public String countAndSay(int n) {String rst="";
if(n==1)
{
rst+="1";
return rst;
}
String s=countAndSay(n-1);//"111221";//
int len=s.length();
char tmp;
int cnt;
for(int i=0;i<len;i++)
{
tmp=s.charAt(i);
cnt=1;
while(i+1<len && s.charAt(i+1)==tmp)
{
cnt++;
i++;
}
rst+=Integer.toString(cnt);
rst+=tmp;
}
return rst;
}
}