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%的用户

  • 相关阅读:
    adb shell am force-stop <package>
    推荐一个代码生成工具:freemarker
    子控件跟着父控件变色
    sqlite支持的数据库类型
    android 资源文件
    一个手机基础信息的获取代码
    二维码的开源项目
    在点击HOME键时, 在点击icon回到原来的应用。
    Wireshark "The NPF driver isn’t running…"
    .atomic vs volatile
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/14920550.html
Copyright © 2011-2022 走看看