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. 密钥格式化的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode刷题100天—482. 密钥格式化(字符)—day57
LeetCode 405. 数字转换为十六进制数(补码的问题) / 166. 分数到小数(模拟长除法) / 482. 密钥格式化