题解 | #替换空格#

替换空格

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();
    }


全部评论

相关推荐

10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
Hello_WordN:咱就是说,除了生命其他都是小事,希望面试官平安,希望各位平时也多注意安全
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务