题目:
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解题思路:
设置一个StringBuilder可以append,(注意)
String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。
在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的。
创建一个新的stringbuilder,每遇到一个空格,就换成%20.
1 public class Solution { 2 public String replaceSpace(StringBuffer str) { 3 if(str==null) 4 return null; 5 StringBuilder sb = new StringBuilder(); 6 7 for(int i=0;i<str.length();i++) 8 { 9 if(str.charAt(i)==' ') 10 { 11 sb.append("%20"); 12 } 13 else 14 { 15 sb.append(str.charAt(i)); 16 } 17 } 18 return sb.toString(); 19 } 20 }