字符串443. 压缩字符串

Posted ocpc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串443. 压缩字符串相关的知识,希望对你有一定的参考价值。

题目:

技术图片

 

 技术图片

 

 

 

解答:

技术图片

 

 

 1 class Solution {
 2 public:
 3     int compress(vector<char>& chars) 
 4     {
 5 
 6         if (chars.empty()) 
 7         {
 8             return 0;
 9         }
10             
11         size_t j = 0;
12         int cnt = 0;
13         for (size_t i = 1; i <= chars.size(); i++)
14         {
15             cnt++;
16             if (i == chars.size() || chars[i] != chars[j])
17             {
18                 j++;
19                 if (cnt != 1)
20                 {
21                     string scnt = to_string(cnt);
22                     for (auto c : scnt)
23                     {
24                         chars[j++] = c;
25                     }
26                 }
27 
28                 if (i == chars.size()) 
29                 {
30                     break;
31                 }
32                 
33                 chars[j] = chars[i];
34                 cnt = 0;
35             }
36         }
37 
38         return j;
39 
40     }
41 };

 

以上是关于字符串443. 压缩字符串的主要内容,如果未能解决你的问题,请参考以下文章

字符串443. 压缩字符串

leetcode中等443压缩字符串 / 面试题01.06

443 String Compression 压缩字符串

443. 压缩字符串-双指针

LeetCode443-压缩字符串(双索引)

LeetCode 443. 压缩字符串 / 653. 两数之和 IV - 输入 BST / 235. 二叉搜索树的最近公共祖先