38.报数

作者: JiangCheng97 | 来源:发表于2019-05-23 18:23 被阅读0次

报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:

1.     1
2.     11
3.     21
4.     1211
5.     111221

1 被读作 "one 1" ("一个一") , 即 11
11 被读作 "two 1s" ("两个一"), 即 21
21 被读作 "one 2", "one 1""一个二" , "一个一") , 即 1211

给定一个正整数 n(1 ≤ n ≤ 30),输出报数序列的第 n 项。

注意:整数顺序将表示为一个字符串。

示例 1:

输入: 1
输出: "1"

示例 2:

输入: 4
输出: "1211"

思路:递归

class Solution {
    public String countAndSay(int n) {
       StringBuilder str = new StringBuilder();
        if(n==1){
            return "1";
        }else{
            String s = countAndSay(n-1);
            int count = 1;
            for(int i=0; i<s.length(); i++){
                if(i<s.length()-1&&s.charAt(i)==s.charAt(i+1)){
                    count++;
                }else{
                    str = str.append(count).append( s.charAt(i));
                    count = 1;
                }
            }
        }
        return str.toString();
    }
}

相关文章

  • 38.报数

    题目报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 11 21 1211 ...

  • 38. 报数

    文|Seraph 01 | 问题 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下...

  • 38. 报数

    LeetCode 的算法题 PHP解法记录 报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。...

  • 38. 报数

  • 38. 报数

    题目描述 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 11 21 12...

  • 38. 报数

    一、题目原型: 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 二、示例剖析:...

  • 38. 报数

    报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1 12 113 214 121...

  • 38.报数

    题目描述: 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 11 21 1...

  • 38. 报数

    报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 11 21 1211 11...

  • 38.报数

    报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 被读作 "one 1" ...

网友评论

      本文标题:38.报数

      本文链接:https://www.haomeiwen.com/subject/crnbzqtx.html