Count and say
public String countAndSay(int n) {
String s="1";
for(int i=1;i<n;i++){
s=countHelper(s);
}
return s;
}
String countHelper(String str){
StringBuffer ss = new StringBuffer("");
char last=str.charAt(0);
int cnt=1;
for(int j=1;j<str.length();j++){
if(str.charAt(j)==last){
cnt++;
}else{
ss.append(Integer.toString(cnt)+last);
last = str.charAt(j);
cnt=1;
}
}
ss.append(Integer.toString(cnt)+last);
return ss.toString();
}
Last updated
Was this helpful?