• leetcode482


    这道题主要使用了C++的几个API,大小写转化,字符串替换。其余的逻辑都比较简单。而且经查资料,string类字符串拼接的速度使用+=的速度是很快的。以下代码,也是用的+=来拼接字符串。

        string licenseKeyFormatting(string S, int K) {
            transform(S.begin(), S.end(), S.begin(), ::toupper);
            string oldStr = "-";
            string newStr = "";
            while (true) {
                string::size_type   pos(0);
                if ((pos = S.find(oldStr)) != string::npos)
                {
                    S.replace(pos, oldStr.length(), newStr);
                }
                else
                {
                    break;
                }
            }
    
            vector<string> V;
            int len = S.length();
            int firstPart = len % K;
            int Parts = len / K;
            if (Parts == 0)
            {
                return S;
            }
            V.push_back(S.substr(0, firstPart));
            if (firstPart != 0)
            {
                V.push_back("-");
            }
            for (int i = 0; i < Parts; i++)
            {
                V.push_back(S.substr(firstPart + i*K, K));
                if (i != Parts - 1)
                {
                    V.push_back("-");
                }
            }
    
            string R;
            for (int i = 0; i < V.size(); i++)
            {
                R += V[i];
            }
            return R;
        }
  • 相关阅读:
    java9新特性-9-语法改进:try语句
    10.04 FZSZ模拟Day1 总结
    10.03模拟总结
    HNOI2012 永无乡
    ZJOI2007 报表统计
    HNOI2004 宠物收养场
    HNOI2002 营业额统计
    Splay 区间反转
    Splay基本操作
    HEOI2016 树
  • 原文地址:https://www.cnblogs.com/asenyang/p/9703177.html
Copyright © 2020-2023  润新知