zoukankan      html  css  js  c++  java
  • 4、替换空格。将空格换成其他字符。

    思路:若在同一个字符串移动,先遍历出空格个数,开辟空间,再从后往前遍历和复制。若允许新的空间,可随意。

     solution1:

        public class Solution {
        public String replaceSpace(StringBuffer str) {
            if(str == null || str.length() == 0){
                return str.toString();
            }
            StringBuffer str1 = new StringBuffer();
            for(int i = 0; i < str.length(); i++){
                if(str.charAt(i) == ' '){
                    str1.append("%20");
                } else {
                    str1.append(str.charAt(i));
                }
            }
            return str1.toString();
        }
        }

    solution2:

        public class Solution {
        public String replaceSpace(StringBuffer str) {
            if(str == null || str.length() == 0){
                return str.toString();
            }
            int oldlen = str.length();
            int blank = 0;
            for(int i = 0; i < str.length(); i++){
                if(str.charAt(i) == ' '){
                    blank++;
                }
            }
            int len = str.length() + blank * 2;
            //从后往前遍历str
            str.setLength(len);
             
            int index = len - 1;
            for(int j = oldlen - 1; j >= 0 && index > j; j--){
                if(str.charAt(j) == ' '){      
                    str.setCharAt(index--, '0');
                    str.setCharAt(index--, '2');
                    str.setCharAt(index--, '%');
     
                } else {
                    str.setCharAt(index--,str.charAt(j));
     
                }
            }
            return str.toString();
        }
        }

    solution3:

        public class Solution {
        public String replaceSpace(StringBuffer str) {
             
            return str.toString().replaceAll("\s", "%20");
        }
        }
    测试用例:
    字符串有空格(最前面,最后面,字符串中间,有连续多个字符)
    没有空格
    输入null,空,只有连续多个空格

  • 相关阅读:
    关于mybatis中mapper.xmlSQL语句书写的心得
    笔记
    SpringMVC的小总结
    配置generatorConfig.xml自动生成的代码的sql书写问题
    关于SQL中的排序问题
    鼠标的change事件
    Git学习笔记 --第一章
    XHR对象
    黑马程序员——java学习6(127-151)——多线程
    黑马程序员——java学习5(107-126)——内部类,异常,包
  • 原文地址:https://www.cnblogs.com/lingli-meng/p/7102153.html
Copyright © 2011-2022 走看看