字符串压缩(easy)"/>
[滑动窗口]面试题 01.06. 字符串压缩(easy)
题目:
题解:
- 滑动窗口,当s[i]!=s[j]时,直接将j指针移动到i指针的位置,缩小窗口;当s[i]==s[j]时,i指针右移,扩大窗口。
代码如下:
class Solution {
public://解法:滑动窗口,当s[i]!=s[j]时,直接将j指针移动到i指针的位置,缩小窗口;当s[i]==s[j]时,i指针右移,扩大窗口string compressString(const string& S) {string res="";int i=0,j=0,n=S.size();while(i<n){if(i==n-1&&S[j]==S[i]){res.push_back(S[j]);res+=to_string(i-j+1);//窗口大小i-j+1}if(S[i]!=S[j]){res.push_back(S[j]);res+=to_string(i-j);//窗口大小i-jj=i;}else i++;}return res.size()>=n?S:res;}
};
更多推荐
[滑动窗口]面试题 01.06. 字符串压缩(easy)
发布评论