点击打开链接
//腾讯第一题
class Solution {
public:
int compress(vector<char>& chars) {
if(chars.empty()) return 0;
char prev = chars[0];
int cnt = 1;
int len =0;
chars.push_back(0);//要保证最后一个也要加进去。
for(int i=1; i<chars.size(); i++){
if(chars[i]==prev){
cnt +=1;
}
else{
chars[len++] = prev;
if(cnt >1){//数字
string str = to_string(cnt);
for(auto c:str) chars[len++] = c;
prev = chars[i];
cnt = 1;
}
prev = chars[i];
}
}
return len;
}
};