替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
StringBuffer函数补充:
返回值类型 函数方法
char charAt(int index)
StringBuffer deleteCharAt(int index)
StringBuffer insert(int offset , char c)
1 public class Solution { 2 public String replaceSpace(StringBuffer str) { 3 if(str==null) 4 return null; 5 else{ 6 char block = ' '; 7 int l = str.length(); 8 int i = 0; 9 while(i<l){ 10 if(str.charAt(i)==block){ 11 str.deleteCharAt(i); 12 str.insert(i,"%20"); 13 i = i + 3;//指向%20后一个字节 14 l = l+2;//一个%20比一个空格多两个字节 15 }else 16 i = i + 1;//向后前进 17 } 18 return str.toString(); 19 } 20 } 21 }
大神代码:<1ms
1 public class Solution { 2 public String replaceSpace(StringBuffer str) { 3 if(str==null){ 4 return null; 5 } 6 StringBuilder newStr = new StringBuilder(); 7 for(int i=0;i<str.length();i++){ 8 if(str.charAt(i)==' '){ 9 newStr.append('%'); 10 newStr.append('2'); 11 newStr.append('0'); 12 }else{ 13 newStr.append(str.charAt(i)); 14 } 15 } 16 return newStr.toString(); 17 } 18 }
🤐