美文网首页
38. 外观数列

38. 外观数列

作者: justonemoretry | 来源:发表于2020-07-08 23:04 被阅读0次

自己解法

这个题其实就是如果有重复的数字,就给出重复数字的数目加字符,数字减1,递归,直到数字为0。用StringBuilder可以加速。

class Solution {

    public String countAndSay(int n) {

        return getString("1", n - 1);

    }

    private String getString(String s, int n) {

        if (n == 0) {

            return s;

        }

        char pre = s.charAt(0);

        int number = 1;

        StringBuilder sb = new StringBuilder();

        for (int i = 1; i < s.length(); i++) {

            if (pre == s.charAt(i)) {

                number++;

            } else {

                sb.append(number). append(pre);

                number = 1;

                pre = s.charAt(i);

            }

        }

        sb.append(number).append(pre);

        return getString(sb.toString(), --n);

    }

}

相关文章

  • LeetCode:38. 外观数列简单求解

    题目:38. 外观数列[https://leetcode-cn.com/problems/count-and-sa...

  • 每日一题篇 — leetcode38号题外观数列

    38. 外观数列 所谓外观数列,就是后一个数列是对前一个数列的描述。打个比方: 题目是,给出相应的序列号,算出对应...

  • 字符串 - 外观数列

    38. 外观数列 题目描述 给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。注意:整数序列中...

  • 38. 外观数列

    自己解法 这个题其实就是如果有重复的数字,就给出重复数字的数目加字符,数字减1,递归,直到数字为0。用String...

  • 38. 外观数列

    38. 外观数列(难度:简单) 题目链接:https://leetcode-cn.com/problems/cou...

  • LeetCode --- 38.外观数列

    LeetCode --- 字符串、数组简书专栏:https://www.jianshu.com/nb/417965...

  • leetcode题目38. 外观数列(java)

    题目描述 给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。注意:整数序列中的每一项将表示为一...

  • 外观数列

    LeetCode第38题 题目描述:「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述...

  • 外观数列

    一、问题 给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每...

  • 外观数列

    给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是...

网友评论

      本文标题:38. 外观数列

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