题目:给一个字符串,将中间的空格用 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、输入的字符串是空字符串
基础处理:对传入的参数进行校验,参数非法,后面的操作都不必再做处理
969

被折叠的 条评论
为什么被折叠?



