剑指Offer(java编程题)JZ02

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

考察:字符串

 

String   StringBuffer   StringBuilder 的区别

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

代码:

 

public class Solution {
    public String replaceSpace(StringBuffer str) {
       
    	
    }
}

 

 /**
     * 思路:遍历读取字符串,如果是空格则替换到新数组
     * 使用toCharArray将字符串转换成字符数组
     * @param str
     * @return
     */
    public String replaceSpace(StringBuffer str) {
        String sti=str.toString();
        char []strChar=sti.toCharArray();
        StringBuffer out =new StringBuffer();

        for(int i=0;i

 

你可能感兴趣的:(剑指offer)