剑指 Offer 05. 替换空格
题目:
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy." 输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
代码1:
1 class Solution { 2 public String replaceSpace(String s) { 3 StringBuffer sb=new StringBuffer(s); 4 while(sb.indexOf(" ")>=0){ //循环查找字符串是否又空格 5 int t=sb.indexOf(" "); 6 sb.replace(t,t+1,"%20"); //替换字符串内空格 7 } 8 return sb.toString(); 9 } 10 }

代码2:
1 class Solution { 2 public String replaceSpace(String s) { 3 if(s==null||s.length()==0){return s;} 4 StringBuffer sb=new StringBuffer(s); 5 for(int i=0;i<sb.length();++i){ //利用循环一次遍历,空格置换为%20 6 if(sb.charAt(i)==' '){ 7 sb.replace(i,i+1,"%20"); //利用替换方法 8 } 9 } 10 return sb.toString(); 11 } 12 }

代码3:
1 class Solution { 2 public String replaceSpace(String s) { 3 if(s==null||s.length()==0){return s;} 4 return s.replace(" ","%20"); //直接利用替换方法 5 } 6 }

代码4://利用正则表达式
1 class Solution { 2 public String replaceSpace(String s) { 3 if(s==null||s.length()==0){return s;} 4 return s.replaceAll(" ","%20"); // 两个参数都是正则表达式 5 } 6 }

浙公网安备 33010602011771号