Java教程

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),用到了额外常数个变量

这篇关于leetcode482. 密钥格式化(Javascript)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!