zoukankan      html  css  js  c++  java
  • 面试题5:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

    请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

    注意从后向前替换,使得时间复杂度为O(n);

    public class Main {
    
        public static void main(String[] args) {
            Main main01=new Main();
            String str=main01.replaceSpace(new StringBuffer("old string"));
            System.out.println(str);
        }
    
        public String replaceSpace(StringBuffer str) {
            if(str==null || str.length()<0){
                return null;
            }
            //求字符串的实际长度和空格的数目
            int oldStrNum=0,blanckNum=0;
            int i=0;
    
            while(i<str.length()){
                oldStrNum++;
                if(str.charAt(i)==' '){
                    blanckNum++;
                }
                i++;
            }
    
            int newStrNum=oldStrNum+2*blanckNum;
    
            int oldStrIndex =oldStrNum-1,
                    newStrIndex=newStrNum-1;
    
            char newCharArr[]=new char[newStrNum];
    
            while(oldStrIndex>=0){
                if(str.charAt(oldStrIndex)==' '){
                    newCharArr[newStrIndex--]='0';
                    newCharArr[newStrIndex--]='2';
                    newCharArr[newStrIndex--]='%';
                }else{
                    newCharArr[newStrIndex--]=str.charAt(oldStrIndex);
                }
                oldStrIndex--;
            }
            String newStr=String.valueOf(newCharArr);
    
            return newStr;
        }
    }
  • 相关阅读:
    决策树和随机森林
    6个开源数据科学项目
    机器学习:梯度下降
    Python中的数据结构
    方差分析介绍(结合COVID-19案例)
    html5
    归并排序
    前端与后端
    Dw3 Sublime text 3 UltraEdit XAMMPP 火狐浏览器 ISS
    ECMAScript JavaScript JScript
  • 原文地址:https://www.cnblogs.com/Allen-win/p/8017054.html
Copyright © 2011-2022 走看看