zoukankan      html  css  js  c++  java
  • 剑指offer(二):替换空格

    题目:

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

    解决方法:

      先统计空格的个数,再从后往前替换,时间复杂度为O(n),空间复杂度为O(n)[看别人是O(1),我需要下去再研究一下]

    代码如下:

     1 public class Solution {
     2     public String replaceSpace(StringBuffer str) {
     3         if(str == null || str.length() == 0){
     4             return "";
     5         }
     6         String string = str.toString();
     7         char[] ch = string.toCharArray();
     8         //空格数目
     9         int count = 0;
    10         for(int i = 0; i < ch.length;i++){
    11             if(ch[i] == ' '){
    12                 count++;
    13             }
    14         }
    15         //从后往前替换
    16         char c[] = new char[ch.length+2*count];
    17         for(int i = ch.length-1; i >=0 ;i--){
    18             if(ch[i] != ' '){
    19                 c[i+2*count] = ch[i];
    20             }else{
    21                 count--;
    22                 c[i+2*count] = '%';
    23                 c[i+2*count+1] = '2';
    24                 c[i+2*count+2] = '0';
    25             }
    26         }
    27         return new String(c);
    28     }
    29 }

      

  • 相关阅读:
    flask多线程多协程操作
    flask介绍
    centos django+Nginx+uwsgi部署
    centos下运行python3.6+Django+mysql项目
    centos虚拟机下安装nginx
    redis安装
    路飞学城课程_课程详细_作业点评
    redis使用方式
    git命令学习
    组合&多态&封装
  • 原文地址:https://www.cnblogs.com/rgever/p/9639930.html
Copyright © 2011-2022 走看看