您的位置:首页 > Web前端

剑指offer--替换空格

2017-08-07 16:08 375 查看


题目描述

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

分类:字符串,数组

解法1:正则表达式

[java] view
plain copy

public class Solution {  

    public String replaceSpace(StringBuffer str) {  

        String s = str.toString();  

        String res = s.replaceAll(" ","%20");  

        return res;  

    }  

}  

解法2:这道题目的本意是考察从后向前遍历数组的。比较笨的方法是,先记下一共有多少空格,然后申请一个新的数组长度,将遍历将空格替换成数组。

[java] view
plain copy

public class Solution {  

    public String replaceSpace(StringBuffer str) {  

        int spaceCount = 0;  

        for(int i=0;i<str.length();i++){  

            if(' '==str.charAt(i)){  

                spaceCount += 2;  

            }else{  

                spaceCount++;  

            }  

        }  

                  

        StringBuffer sb = new StringBuffer(spaceCount);       

        for(int i=0;i<str.length();i++){  

            if(' '!=str.charAt(i)){  

                sb.append(str.charAt(i));                 

            }else{  

                sb.append('%');  

                sb.append('2');               

                sb.append('0');               

            }  

        }  

                          

        return sb.toString();  

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: