写在前面:
为了增长一下自己的数据结构能力,也为了面试准备,准备将剑指Offer做一下,并与各位分享,希望各位可以对代码以及思路提提建议,欢迎志同道合者,谢谢。
题目:
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy
思路:
这个题目相较其他简单一些,可以用string的replaceAll做,将空格全部替换成“%20” , 还可以用将这个字符串根据空格分割 split ,然后拼接的时候加上“%20”, 还可以用将这个字符串转成字符数组, 然后将字符拼接,判断是否是空格,如果是就替换
本文用了第三种
代码实现
package com.itzmn.offer;
/**
* @Auther: 张梦楠
* @Date: 2018/7/27 18:35
* 简书:https://www.jianshu.com/u/d611be10d1a6
* 码云:https://gitee.com/zhangqiye
* @Description:
*/
public class Offer2 {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer("We Are Happy");
String we_are_happy = new Offer2().replaceSpace(stringBuffer);
System.out.println(we_are_happy);
}
public String replaceSpace(StringBuffer str) {
char[] chars = str.toString().toCharArray();
StringBuffer sb= new StringBuffer();
for (Character character:chars){
if(character.equals(' ')){
sb.append("%20");
}else {
sb.append(character);
}
}
return sb.toString();
}
}
希望大家可以多多指点,优化一下,
QQ群:552113611
网友评论