0%

面试题 01.06. 字符串压缩

面试题 01.06. 字符串压缩

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public:
string compressString(string S) {
string ret;
int curNum = 1;
char curVal = S.front();
for(int i = 1; i < S.size(); ++i)
{
if(S[i] != curVal)
{
ret.append(curVal + to_string(curNum));
curVal = S[i];
curNum = 1;
}
else
++curNum;
}
ret.append(curVal + to_string(curNum));
return ret.size() >= S.size() ? S : ret;
}
};

T(n) : O(n)

S(n) : O(n)