zoukankan      html  css  js  c++  java
  • 剑指 Offer 05. 替换空格

    请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

    示例 1:

    输入:s = "We are happy."
    输出:"We%20are%20happy."

    限制:

    0 <= s 的长度 <= 10000

    题解:

        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            String s = "We are happy.";
            System.out.println(replaceSpace2(s));
        }
    
        //方法一:直接用String的replaceAll方法替换
        public static String replaceSpace(String s) {
            return s.replaceAll(" ", "%20");
        }
        //方法二:StringBuilder
        public static String replaceSpace1(String s) {
            StringBuilder sb = new StringBuilder();
            for(char ch:s.toCharArray()){
                if(ch==' '){
                    sb.append("%20");
                }else{
                    sb.append(ch);
                }
            }
            return sb.toString();
        }
        //方法三:字符数组
        public static String replaceSpace2(String s) {
            char[] result = new char[s.length()*3];
            int i=0;
            for(char ch:s.toCharArray()){
                if(ch==' '){
                    result[i++]='%';
                    result[i++]='2';
                    result[i++]='0';
                }else{
                    result[i++]=ch;
                }
            }
            return new String(result,0,i);
        }
    }

    方法一:
    执行用时:3 ms, 在所有 Java 提交中击败了16.03%的用户
    内存消耗:36.6 MB, 在所有 Java 提交中击败了8.10%的用户

    方法二:
    执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
    内存消耗:36.3 MB, 在所有 Java 提交中击败了60.83%的用户

    方法三:
    执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
    内存消耗:36.3 MB, 在所有 Java 提交中击败了54.57%的用户

  • 相关阅读:
    NOIP2010提高组乌龟棋 -SilverN
    NOIP2009 提高组T3 机器翻译 解题报告-S.B.S
    controller向layout传值
    解决Yii2中刷新网页时验证码不刷新的问题
    关联表 重命名
    定义action的允许访问方式
    js 拷贝clone
    是否包含指定字符串
    indexOf()定义和用法
    直接借鉴的 ids拼接
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/14920550.html
Copyright © 2011-2022 走看看