剑指offer(二) 替换空格

写在前面:
为了增长一下自己的数据结构能力,也为了面试准备,准备将剑指Offer做一下,并与各位分享,希望各位可以对代码以及思路提提建议,欢迎志同道合者,谢谢。

1.剑指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

你可能感兴趣的:(剑指offer(二) 替换空格)