https://leetcode-cn.com/problems/count-and-say/

递归

  1. public static String countAndSay(int n) {
  2. if (n == 1) {
  3. return "1";
  4. }
  5. char[] last = countAndSay(n - 1).toCharArray();
  6. StringBuilder ans = new StringBuilder();
  7. int times = 1;
  8. for (int i = 1; i < last.length; i++) {
  9. if (last[i - 1] == last[i]) {
  10. times++;
  11. } else {
  12. ans.append(times);
  13. ans.append(last[i - 1]);
  14. times = 1;
  15. }
  16. }
  17. ans.append(times);
  18. ans.append(last[last.length - 1]);
  19. return ans.toString();
  20. }