class Solution {
public:
int compress(vector<char>& chars) {
if (chars.size() <= 1)
return 1;
int pos = 0, pos1 = 0;
int lq = 0;
do
{
while (pos1 < chars.size() && chars[pos1] == chars[pos])
pos1++;
int count = pos1 - pos;
chars[lq++] = chars[pos];
if (count > 1)
{
//put count in chars ,addr start pos+1
string strCnt = std::to_string(count);
for (auto it : strCnt)
{
chars[lq++] = it;
}
}
pos = pos1;
} while (pos < chars.size());
chars.resize(lq);
return chars.size();
}
};
LeetCode 压缩字符串
最新推荐文章于 2023-07-04 10:17:57 发布