题目链接
tip: 此题我的理解重点是给定字符串中相同字符原本就是相邻的!!!看网上的答案都是默认这个条件,纠结了一上午.
solution:
class Solution {
public:
int compress(vector<char>& chars) {
int n = chars.size();
int w=0;
for(int i=0,j=0;i<n;i=j)
{
for(j=i;j<n && chars[i]==chars[j];j++)
{
}
chars[w++] = chars[i];//更新数组元素
if(j-i>1)
{
for(char t:to_string(j-i))//数字转化为字符串
chars[w++]=t;
}
}
return w;
}
};