482. 密钥格式化

Posted lgz0921

tags:

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

题目链接:https://leetcode-cn.com/problems/license-key-formatting/

思路:先替换掉所有的'-',然后转成大写。注意:如果执行完前两步字符串是""需要返回""。用转换后的字符串长度%k得到第一个特殊的字符串的长度,然后截取后面的,接下来就是每k个拼接一下了~~~最后注意一下如果%k的长度为0,在我的写法中拼接的第一个字符会是'-',所以我最后做了一下特判~~~

上代码:

class Solution {
    fun licenseKeyFormatting(s: String, k: Int): String {
        val toUpperCase = s.replace("-", "").toUpperCase()
        if (toUpperCase.isEmpty()) {
            return ""
        }
        val first = toUpperCase.length % k
        val result = StringBuilder()
        result.append(toUpperCase.substring(0, first))
        val substring = toUpperCase.substring(first)
        for (i in substring.indices) {
            if (i % k == 0) {
                result.append("-")
            }
            result.append(substring[i])
        }
        if (result[0] == '-') {
            result.deleteCharAt(0)
        }
        return result.toString()
    }
}

 

以上是关于482. 密钥格式化的主要内容,如果未能解决你的问题,请参考以下文章