zoukankan      html  css  js  c++  java
  • (字符串)替换空格

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

    https://www.nowcoder.com/questionTerminal/4060ac7e3e404ad1a894ef3e17650423

    从后向前替换

    两个指针:k指向原字符串长度的末尾(即''处), p指向将空格替换为“%20”后字符串长度的末尾,从字符串最后一个字符向前遍历,逐个填入p指向的位置中。

    O(n)

    class Solution {
    public:
        void replaceSpace(char *str,int length) {
            int cnt = 0;
            for(int i=0; i<length; i++){
    //统计字符串中空格的个数
    if(str[i] == ' ') cnt++; } int len = length + cnt*2; //新长度为原长度+替换后增加的长度 int k = length, p = len; while(k>=0 && k<p){ if(str[k] != ' '){ str[p] = str[k]; p--; k--; } else{ str[p--] = '0'; str[p--] = '2'; str[p--] = '%'; k--; } } } };

    总结:当合并两个数组(或字符串)时,若从前往后复制每个数字,需要重复移动数字多次,则可以考虑从后向前复制。

  • 相关阅读:
    django + scrapy 部署
    scrapyd 爬虫部署
    爬虫部署
    使用Scrapy爬取图片入库,并保存在本地
    学习Spider 了解 Scrapy的流程
    Django 的 一些基本操作:视图函数,路由配置
    Django 了解
    sql
    嚯嚯~ module 1
    Long Way To Go 之 Python 5 (2)
  • 原文地址:https://www.cnblogs.com/Bella2017/p/11819807.html
Copyright © 2011-2022 走看看