【题目】
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
【答案】
public class Solution {
public String replaceSpace(StringBuffer str) {
if(null == str){
return null;
}
return str.toString().replaceAll(" ","%20");
}
}
class Solution {
public:
string replaceSpace(string str) {
if(str.size() == 0)
return str;
int orgStrLen = str.size();
int blankNum = 0;
int index = 0;
while(str[index] != '\0')
{
if(str[index] == ' ')
++blankNum;
++index;
}
if(blankNum == 0)
return str;
int newStrLen = orgStrLen + 2*blankNum;
int pNew = newStrLen - 1;
int pOld = orgStrLen - 1;
str.resize(newStrLen, '0');
while(pOld >= 0 && pNew>pOld)
{
if(str[pOld] == ' ')
{
str[pNew--] = '0';
str[pNew--] = '2';
str[pNew--] = '%';
}
else
{
str[pNew--] = str[pOld];
}
--pOld;
}
return str;
}
};