替换空格

请实现一个函数,将一个字符串中的每个空格替换成“%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 }

🤐

 

posted @ 2019-12-24 23:13  hu啦啦啦  阅读(163)  评论(0编辑  收藏  举报