he count-and-say sequence is the sequence of integers beginning as follows:
1, 11, 21, 1211, 111221, ...
1
is read off as "one 1"
or 11
.
11
is read off as "two 1s"
or 21
.
21
is read off as "one 2
, then one 1"
or 1211
.
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
public class Solution {
public String countAndSay(int n) {
String temp="1";
while(n>1){
temp=generate(temp);
n--;
}
return temp;
}
String generate(String s){
String next=new String();
for(int i=0;i<s.length();++i){
int count=0;
for(int j=i;j<=s.length();++j){
if(j==s.length()){
i=j-1;
next=next+(char)(count+'0')+s.charAt(i);
}
else if(s.charAt(j)==s.charAt(i))
count++;
else if(s.charAt(j)!=s.charAt(i)){
i=j-1;
next=next+(char)(count+'0')+s.charAt(i);
break;
}
}
}
return next;
}
}