剑指offer 面试题3 替换空格

题目:请实现一个函数,把字符串中的每一个空格替换成“%20”。例如:输入“We are happy.”,则输出“We%20are%20happy.”.

       思路:从后往前复制,数组的长度会增加,或者使用StringBuffer,StringBuild. 

代码如下:

public String replaceSpace(StringBuffer str) {
    if (str == null)
        return null;
    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < str.length(); i++) {      // charAt()方法用于返回指定索引处的字符,索引的范围0到length()-1。
        if (String.valueOf(str.charAt(i)).equals(" ")) {   //   String.valueOf(char c)是将char变量c 转换成String类型。
            sb.append("%20");
        }else {
            sb.append(str.charAt(i));
        }
    }
    return String.valueOf(sb);
}
参考资料: 剑指offer,何海涛,电子工业出版社。

  

猜你喜欢

转载自blog.csdn.net/qauchangqingwei/article/details/80804911