这种字符串处理的题目,微软很喜欢考
思路是在递归的基础上进行字符串处理
1class Solution { 2 public String countAndSay(int n) { 3 if(n==1) return "1"; 4 String str = countAndSay(n-1); 5 StringBuilder sb = new StringBuilder(); 6 int count = 1, i = 0; 7 while(i<str.length()){ 8 while(i+1<str.length()&&str.charAt(i)==str.charAt(i+1)){ 9 count++; 10 i++; 11 } 12 sb.append(count); 13 sb.append(str.charAt(i)); 14 i++; 15 count = 1; 16 } 17 return sb.toString(); 18 } 19}