第一种最简单的方法
直接使用String中自带的函数。这里就涉及到了两个函数,一个是replace,
,另一个是replaceAll。
. replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
. replaceAll的参数是regex,即基于规则表达式的替换;
在这道题目中,明显不需要用使用到规则表达式,如果使用了还要解析规则,啥的,时间大大增加。
class Solution {
public String replaceSpace(String s) {
return s.replace(" ","%20");
}
}
第二种方法
显然题目是要我们自己去实现一个简单的replace方法,而不是像想让你学会怎么使用replace方法。
class Solution {
public String replaceSpace(String s) {
int length = s.length(), size = 0;
// 创建一个char数组,长度为s字符串的三倍(考虑极端情况)
char[] array = new char[length * 3];
for(int i=0; i<length; i++)
{
char c = s.charAt(i);
if(c == ' ')
{
array[size++] = '%';
array[size++] = '2';
array[size++] = '0';
}
else
array[size++] = c;
}
// 创建String对象,其中这个构造方法中间的参数为偏移量,size为String的长度
return new String(array, 0, size);
}
}