空格使用20%进行替换

来源:互联网 发布:js 执行上下文 编辑:程序博客网 时间:2024/06/03 17:33

题目:给一个字符串,将中间的空格用 20% 进行替换

////  replace_blank.cpp//  offer_test////  Created by caixiao on 2017/8/6.//  Copyright © 2017年 caixiao. All rights reserved.//#include <iostream>#include <stdio.h>#include <string>using namespace std;string rep_bla(string str1,int length_str1){   if(str1.empty() || length_str1 <= 0)        return "param error";   int length_newstr;    int count = 0;//    int length_str1 = str1.length();    int i = 0;    while(str1[i] != '\0'){        if(str1[i] == ' '){            count++;        }        i++;    }    length_newstr = length_str1 + count*2;    length_newstr--;    length_str1--;    for(length_str1;length_str1 >= 0;length_str1--){        if(str1[length_str1] == ' '){            str1[length_newstr--] = '0';            str1[length_newstr--] = '2';            str1[length_newstr--] = '%';        }else{            str1[length_newstr--] = str1[length_str1];            cout<< str1[length_str1]<<endl;        }     }    return str1;}

测试case:
1、字符串第一个就是空格
2、字符串最后一个是空格
3、字符串没有空格(目前未做特殊处理,如果两个和指针指的位置一样,可不用在循环赋值)
4、输入的字符串是空字符串

基础处理:对传入的参数进行校验,参数非法,后面的操作都不必再做处理

原创粉丝点击