zoukankan      html  css  js  c++  java
  • 面试题 01.06. 字符串压缩

    字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。
     示例1:
     输入:"aabcccccaaa"
     输出:"a2b1c5a3"

     示例2:
     输入:"abbccd"
     输出:"abbccd"
     解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。

    提示:

    字符串长度在[0, 50000]范围内。
     
    思路:运用STL,之前用C写错了N次,学了点c++用STL马上就有思路就过了,还有就是学了一个新东西,将数字转化成string,用 str = to_string(num) .
     1 string compressString(string S) 
     2 {
     3     string res = "";
     4 
     5     for(int i = 0; i < S.size(); i++)
     6     {
     7         int j = 0;
     8         for(j = i; S[j] == S[i]; j++);
     9         j -= i;
    10         res += S[i];
    11         res += j+'0';
    12         i += (j-1);
    13     }
    14 
    15     if(res.size() > S.size())
    16     return S;
    17     else
    18     return res;
    19 }
     
  • 相关阅读:
    转发和重定向的区别
    关于Daydream VR的最直白的介绍
    Duplicate Protocol Definition of DTService Is Ignored
    automatically select architectures
    java
    初识反射
    java网络编程
    Map接口
    Set,List
    正则表达式
  • 原文地址:https://www.cnblogs.com/ZhengLijie/p/12854715.html
Copyright © 2011-2022 走看看