您的位置:首页 > Web前端

剑指offer 替换空格

2018-03-08 20:17 239 查看
题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
public class Solution {
public String replaceSpace(StringBuffer str) {
if(str == null) return null;
StringBuffer newStr = new StringBuffer();
int len = str.length();
for(int i=0;i<len;i++)
{
if(str.charAt(i) == ' ')
{
newStr.append('%');
newStr.append('2');
newStr.append('0');
}
else newStr.append(str.charAt(i));
}
return newStr.toString();
}
//    public static void main(String[] args)
//    {
//        StringBuffer s = new StringBuffer("We Are Happy");
//        Solution p = new Solution();
//        System.out.println(p.replaceSpace(s));
//    }
}
class Solution {
public:
void replaceSpace(char *str,int length) {
    int cnt=0;
    for(int i=0;i<length;i++)
    {
    if(str[i]==' ')
     cnt++;
    }
    int New = length + 2*cnt;
    str[New] = '\0';
    New--;
    int wei = length-1;//尾指针
    while(New>=0 && New>wei)
     {
     if(str[wei] == ' ')
     {
      str[New--] = '0';
    str[New--] = '2';
    str[New--] = '%%';
           }
           else str[New--] = str[wei];
            wei--;
        }
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: