您的位置:首页 > Web前端

剑指Offer_02_替换空格

2016-08-10 12:39 435 查看

题目描述

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

解题思路

直接使用Java API,使用String的replaceAll()方法。

首先遍历字符串中的空格,然后新建一个char数组,大小时原来的字符串的长度 + 2 * 空格数,然后,从后往前遍历字符串,如果遇到非空格字符,则将其放入char数组最后未填充的位置,遇到空格则填充”%20”。

实现

调用Java API的实现

public class Solution {
public String replaceSpace(StringBuffer str) {
return str.toString().replaceAll(" ","%20");
}
}


第二种思路

public class Solution {
public String replaceSpace(StringBuffer str) {
int countSpace = 0;
for (int i = 0; i < str.length(); i++){
if (str.charAt(i) == ' ') countSpace++;
}
char[] chars = new char[str.length() + 2*countSpace];
int index = chars.length - 1;
for (int i = str.length() - 1; i >= 0; i--){
if(str.charAt(i) != ' '){
chars[index--] = str.charAt(i);
}else {
chars[index--] = '0';
chars[index--] = '2';
chars[index--] = '%';
}
}
return String.valueOf(chars);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string java 替换空格