zoukankan      html  css  js  c++  java
  • 《剑指offer》替换空格

    题目描述:

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

    Solution:

    #include <iostream>
    
    using namespace std;
    
    void replaceBlank(char str[],int length)
    {
      if(str==NULL||length<0) return ;
    
      int originalLength=0;
      int numberOfBlank=0;
      int i=0;
      while(str[i]!='')
      {
        originalLength++;
        if(str[i]==' ')
                ++numberOfBlank;
        ++i;
      }
    
      int newLength=originalLength+numberOfBlank*2;
      if(newLength>length)
        return;
    
      int indexOfOrignal=originalLength;
      int indexOfNew = newLength;
    
      while(indexOfOrignal>=0&&indexOfNew>indexOfOrignal)
      {
        if(str[indexOfOrignal]==' ')
        {
            str[indexOfNew--]='0';
            str[indexOfNew--]='2';
            str[indexOfNew--]='%';
        }
        else{
            str[indexOfNew--]=str[indexOfOrignal];
        }
        --indexOfOrignal;
      }
    
    }
    int main()
    {
        char str[30]="we are happy!";
        replaceBlank(str,30);
        cout<<str<<endl;
        return  0;
    }
    
  • 相关阅读:
    高性能JavaScript
    高性能CSS
    去掉超链接文字点击后的灰色框
    高性能HTML
    css整站规划
    css hack 和问题
    IE6支持min-width、max-width CSS样式属性
    WPF草稿
    正则表达式学习日记zz
    详解Adorner Layer(zz)
  • 原文地址:https://www.cnblogs.com/xiaoying1245970347/p/5140393.html
Copyright © 2011-2022 走看看