字符串压缩 (日常刷题)

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。

示例1:

 输入:"aabcccccaaa"
 输出:"a2b1c5a3"

示例2:

 输入:"abbccd"
 输出:"abbccd"
 解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。

提示:

字符串长度在[0, 50000]范围内。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/compress-string-lcci

我的解答

/**
 * @param {string} S
 * @return {string}
 */
var compressString = function(S) {
     let sArr = S.split("")
     var str = ''
     var j = 1 // 当前数量
     var k = sArr[0] // 当前字母
     for(var i=0;i<S.length; i++) {
        if(sArr[i]==sArr[i+1]){
            j++
            k = sArr[i]
        }else{
            str= str + k +j
            j = 1
            k = sArr[i+1]
        }
     }
     if(str.length>=S.length){
         return S
     }else{
         return str
     }
};

https://leetcode-cn.com/submissions/detail/54185275/

发表评论 已发布评论 0 《点我查看评论规范》
暂无数据