38. 外观数列

Posted lgz0921

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了38. 外观数列相关的知识,希望对你有一定的参考价值。

题目链接:https://leetcode-cn.com/problems/count-and-say/

思路:从前往后判断连续的相同的字符有几个,然后把个数值和当前字符拼接起来即可。解释:在字符串最后拼接一个"#"是为了在判断字符串末尾的元素的时候好判断。

上代码:
 

class Solution {
    fun countAndSay(n: Int): String {
        var str = "1#"
        for (i in 2..n) {
            var x = 1
            var now = ""
            for (j in 0 until str.length - 1) {
                if (str[j] == str[j + 1]) {
                    x++
                } else {
                    now = now + x + str[j]
                    x = 1
                }
            }
            str = "$now#"
        }
        return str.substring(0, str.length - 1)
    }
}

 

以上是关于38. 外观数列的主要内容,如果未能解决你的问题,请参考以下文章

题目地址(38. 外观数列)

算法leetcode|38. 外观数列(多语言实现)

leetcode38 外观数列(Easy)

力扣题解 38th 外观数列

38. 外观数列

Leetcode 38.外观数列