我是靠谱客的博主 贤惠雪糕,最近开发中收集的这篇文章主要介绍[华为机试练习题]3.分解字符串,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目

按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”

代码

/*-------------------------------------
*   日期:2015-06-18
*   作者:SJF0115
*   来源:华为机试题
*   题目: 分解字符串
*   博客:
------------------------------------*/
#include <iostream>
#include <vector>
using namespace std;

vector<string> ResolveString(vector<string> vec,int n){
    int size = vec.size();
    vector<string> result;
    if(size == 0 || n <= 0){
        return result;
    }//if
    string str;
    int len;
    for(int i = 0;i < size;++i){
        str = vec[i];
        len = str.size();
        // 补齐0
        for(int j = 0;j < (n - len % n);++j){
            str += "0";
        }//for
        // 分解
        int index = 0;
        while(index < len){
            result.push_back(str.substr(index,n));
            index += n;
        }//while
    }//for
    return result;
}

int main(){
    int m = 2,n = 8;
    vector<string> vec = {"abc","123456789"};
    vector<string> result = ResolveString(vec,n);
    for(int i = 0;i < result.size();++i){
        cout<<result[i]<<endl;
    }//for
    return 0;
}

最后

以上就是贤惠雪糕为你收集整理的[华为机试练习题]3.分解字符串的全部内容,希望文章能够帮你解决[华为机试练习题]3.分解字符串所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部