题目描述:
思路解析:两种方法。1)新建一个字符数组,遍历数组进行替换。由题可知,将一个字符替换成三个字符,所以可以新建一个字符数组,长度为原来的3倍,然后遍历数组,进行替换。2)使用StringBuilder的append()方法。
代码实现:
class Solution { public String replaceSpace(String s) { //此题将一个字符替换成三个字符,新建一个字符数组,长度为原来的3倍 //遍历数组,进行替换 int length = s.length(); char[] arr = new char[length * 3]; int index = 0; for(int i = 0;i < length;i++){ char c = s.charAt(i); if(c == ' '){ arr[index] = '%'; arr[index+1] = '2'; arr[index+2] = '0'; index += 3; }else{ arr[index++] = c; } } String newstr = new String(arr,0,index); return newstr; //使用StringBuilder的append方法,string没有此方法 StringBuilder string = new StringBuilder(); for(int i = 0;i < s.length();i++){ char a = s.charAt(i); if(a ==' '){ string.append("%20"); }else{ string.append(a); } } return string.toString(); } }