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?