【leetcode】压缩字符串 双指针

【leetcode】压缩字符串 双指针_第1张图片

/**
 * @param {character[]} chars
 * @return {number}
 */
var compress = function(chars) {
    const len=chars.length;
    let s='';
    let i=0,j=i+1;
    while(j<=len){
        if(chars[i]==chars[j]){
            j++;
        }else{
            const temps=(j-i)>1?`${chars[i]}${j-i}`:`${chars[i]}`;
            s+=temps;
            i=j;
            j=i+1;
        }
    }
    for(let i=0;i<s.length;i++){
        chars[i]=s[i];
    }
    return s.length;
};

双指针 i指向当前元素 j表示当前元素有几个相同的

你可能感兴趣的:(力扣,算法,leetcode,算法,职场和发展)