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

    描述

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

    示例1:
    输入:"aabcccccaaa"
    输出:"a2b1c5a3"

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

    提示:
    字符串长度在[0, 50000]范围内

    思路

    典型的双指针法,遍历查找相同的字符。

    class Solution {
    public:
        string compressString(string S) {
            int i=0,j=0;
            string res="";
            while(i<S.length()){
                j=i+1;
                res+=S[i];
                while(S[i]==S[j]){
                    j++;
                }
                res+=to_string(j-i);
                i=j;
            }
            return res.length()<S.length()?res:S;
        }
    };
    
  • 相关阅读:
    WiFi热点
    计算器
    flask的使用
    Python logging
    串口
    C# 定时器
    C# 控件
    cookie 和 session
    文件
    Linux命令
  • 原文地址:https://www.cnblogs.com/hunter-w/p/12703336.html
Copyright © 2011-2022 走看看