-
题目描述
题目链接:leetcode-cn.com/problems/li…
-
思路分析
该题相当于是将一个带-的字符串在去掉-后分成多个部分,除第一个部分外每个部分有k个字符,每个部分间以-连接。
所以我们可以先将给定字符中的-去掉,然后计算出第一个部分的长度,然后再加上后续部分和-;第一个部分的长度为给定字符串的长度余k,然后每个每个部分通过slice取出连在一起并大写即可。
-
代码
var licenseKeyFormatting = function (s, k) {
let ss = s.replaceAll("-","");
let first = ss.length % k;
first = first ? first : k;
let t = (ss.length - first) / k;
let res = ss.slice(0, first).toUpperCase();
for (let i = 0; i < t; i++) {
res += '-' + ss.slice(first + i * k, first + i * k + k).toUpperCase();
}
return res;
};