题解 | #替换空格#

替换空格

http://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68

第一种方法最简单也最骚,直接用string的api即可。
    public String replaceSpace (String s) {
        // write code here
        return s.replaceAll(" ", "%20");
    }
第二种方法就是遍历每个下标,然后将其添加到新的数组中。
    public String replaceSpace (String s) {
        // write code here
        char sc[] = s.toCharArray();
        //因为空格要换成%20,所以要申请新的3倍char数组
        char dp[] = new char[sc.length * 3];
        int index = 0;
        
        for(int i = 0; i < sc.length; i++){
            if(sc[i] == ' '){
                dp[index++] = '%';
                dp[index++] = '2';
                dp[index++] = '0';
            }else{
                dp[index++] = sc[i];
            }
        }
        
        return new String(dp, 0, index);
    }
第三种方法和第二种思路一样,只不过不申请3倍容量数组,而是使用springBuilder拼接。
    public String replaceSpace (String s) {
        // write code here
        char sc[] = s.toCharArray();
        StringBuilder sb = new StringBuilder();
        
        for(int i = 0; i < sc.length; i++){
            if(sc[i] == ' '){
                sb.append("%20");
            }else{
                sb.append(sc[i]);
            }
        }
        
        return sb.toString();
    }


全部评论

相关推荐

offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务