做了个剑指Offer的题目目录,链接如下:
https://blog.csdn.net/mengmengdastyle/article/details/80317246
一、题目
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
二、解析
(1)char的理解,需要把字符串中的字符一个个拿出来判断,此时就用到了char。String提供了拿取的方法:String.charAt(i)
(2)不为空则拼接,为空则拼接%20
三、java代码实现
public class String1 {
public static void main(String[] args) {
StringBuffer st = new StringBuffer();
st.append(“i like you!”);
System.out.println(replaceSpace(st));
}
public static String replaceSpace(StringBuffer str){
if(str == null){
return null;
}
//新建一个 StringBuilder(其实StringBuffer也行,只是StringBuilder是轻量级的,效率更高)
StringBuilder newStr = new StringBuilder();
for(int i=0; i<str.length(); i++){
if(str.charAt(i) == ' '){//判断是否为空
newStr.append("%20");
}else{
newStr.append(str.charAt(i));
}
}
return newStr.toString();
}
}