编程语言
首页 > 编程语言> > leetcode482. 密钥格式化(Javascript)

leetcode482. 密钥格式化(Javascript)

作者:互联网

在这里插入图片描述
思路:
去横杠
转大写
加入头部
遍历加入剩余项和横杠

注意点:
加入头部时判断字符串长度是否小于于k,决定是否加入横杠
遍历时最后一项不用加横杠

var licenseKeyFormatting = function(s, k) {
    let newS=s.replace(/-/g,'')
    function replaceStr(str){
        let strArr=[...str]
        for(let i=0;i<strArr.length;i++){ 
            let asciiCode=strArr[i].charCodeAt(0)
            if(asciiCode>=97 && asciiCode<=122){
                strArr[i]=String.fromCharCode(asciiCode-32)
            }
        }
        return strArr.join('')
    }
    newS=replaceStr(newS)
    let result=''
    let headNum=newS.length%k
    headNum!==0?
    (newS.length<=k?result+=newS.slice(0,headNum):result+=newS.slice(0,headNum)+'-')
    :''
    for(let i=headNum+k;i<=newS.length;i+=k){
        result+=newS.slice(i-k,i)
        i!==newS.length?result+='-':''
    }
    return result
};

在这里插入图片描述
时间复杂度:O(n),n为字符串长度
空间复杂度:O(1),用到了额外常数个变量

标签:function,格式化,加入,复杂度,Javascript,leetcode482,let,str,横杠
来源: https://blog.csdn.net/Aays2790/article/details/120163636