The 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 n th
sequence.
Note: The sequence of integers will be represented as a string.
public class Solution {
public String countAndSay(int n) {
if(n<=0)
return "";
String curRes = "1";
int start = 1;
while(start<n)
{
StringBuilder res = new StringBuilder();
int count = 1;
for(int i=1;i<curRes.length();i++)
{
if(curRes.charAt(i)==curRes.charAt(i-1))
count++;
else
{
res.append(count);
res.append(curRes.charAt(i-1));
count = 1;
}
}
res.append(count); //上面的循环中,只到curRes.length()-2
res.append(curRes.charAt(curRes.length()-1));//上面的循环中,只到curRes.length()-2
curRes = res.toString();
start++;
}
return curRes;
}
}