一、问题描述
去除字符串首尾空格,以及字符串中多余空格,如:s = “ Hello word ! ”处理后变为:result = “Hello world!”
二、思路描述
先去掉字符串的首尾空格,然后去除串中多余空格(如果有多于1个空格,词与词之间保留最后一个空格)。
三、代码
string & trim(string s){
if(s.empty()){
return s;
}
s.erase(0,find_first_not_of(" "));
s.erase(find_last_not_of(" ") + 1);
return s;
}
string remove_surplus_spaces(const string& s){
string src = trim(s);
string result = "";
for(int i = 0; src[i] != '\0'; i++){
if(src[i] != ' ' ){
result.append(1,src[i]);
}else{
if(src[i+1] != ' ')
result.append(1,src[i]);
}
}
return result;
}