0
点赞
收藏
分享

微信扫一扫

【leetcode】443. String Compression

律楷粑粑 2022-07-12 阅读 18

problem

​​443. String Compression​​

Input
["a","a","b","b","c","c","c"]
Output
["a","a","b","b","c","c"]
Expected
["a","2","b","2","c","3"]

a:

Given an array of characters, compress it in-place.
After you are done modifying the input array in-place, return the new length of the array.

 

ss

Input
["a","a","a","b","b","a","a"]
Output
["a","5","b","2"]
Expected
["a","3","b","2","a","2"]

ss

solution1:

【leetcode】443. String Compression_i++

【leetcode】443. String Compression_i++_02

class Solution {
public:
int compress(vector<char>& chars) {
if(chars.empty()) return 0;
string res="";
char cur, pre;
int num = 0;
for(int i=0; i<chars.size(); i++)
{
cur = chars[i];
if(i==0)
{
res += cur;
pre = cur;
}

if(cur!=pre)
{
if(num>1) res += to_string(num);//
res += cur;
pre = cur;
num = 1;
}
else num++;
}
if(num>1) res += to_string(num);
//
int len = 0;
if(res.size()> chars.size()) len = chars.size();
else if(res.size()<=chars.size())
{
len = res.size();
for(int i=0;i<res.size(); i++)
{
chars[i] = res[i];
}

}
return len;

}
};

View Code

 

 

 

 

参考

1. ​​Leetcode_443. String Compression​​;

举报

相关推荐

0 条评论