The count-and-say sequence is the sequence of integers beginning as follows:
1, 11, 21, 1211, 111221, ...
1Is read off"one 1"Or11.
11Is read off"two 1s"Or21.
21Is read off"one 2, Thenone 1"Or1211.
Given an integerN, GenerateNTh sequence.
Note: The sequence of integers will be represented as a string.
1 public class Solution { 2 String lastString; 3 public String countAndSay(int n) { 4 if (n==0) { 5 return lastString; 6 } 7 lastString="1"; 8 if (n==1) { 9 return lastString;10 }11 12 for (int i = 2; i <=n ; i++) {13 int count=0;14 String currsString="";15 for (int j = 0; j < lastString.length(); j++) {16 if (j==0||lastString.charAt(j)==lastString.charAt(j-1)) {17 ++count;18 }else {19 currsString=currsString+count+lastString.charAt(j-1);20 count=1;21 }22 }23 currsString=currsString+count+lastString.charAt(lastString.length()-1);24 lastString=currsString;25 }26 return lastString;27 }28 }
Leetcode count and say