编写一个方法,将字符串中的空格全部替换为“%20”

2023-10-27

请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。

给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。

测试样例:
"Mr John Smith”,13
返回:"Mr%20John%20Smith"
”Hello  World”,12
返回:”Hello%20%20Worl

代码以及注释:
class Replacement {
public:
    string replaceSpace(string iniString, int length) {
        // write code here
        int count=0;//空格数目
        int num_sum=0;//替换后string的长度
        string ans;//替换后返回的字符串

        for(int i=0;i<length;i++)  //计算空格数目
            if(iniString[i]==' ')
            count++;
          num_sum=length+2*count-1;

          ans[num_sum+1]='\0';//将字符串末尾置结束标记

        for(int i=length-1;i>=0;)
          {
            if(iniString[i]==' ')//如果为空格则替换
               {
                  ans[num_sum]='0';num_sum--;
                  ans[num_sum]='2';num_sum--;
                  ans[num_sum]='%';
               }
            else
                ans[num_sum]=iniString[i];//不是空格则直接复制
            num_sum--;
            i--;
        }  
        return ans;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编写一个方法,将字符串中的空格全部替换为“%20” 的相关文章

  • SpringBoot——内置数据库

    简单介绍 关于数据层的三大组件 数据源 持久化技术 数据库 前两种都已经介绍过了SpringBoot的内置的解决方案 还有最后一个数据库 在SpringBoot中 内置了三款数据库 分别是 H2 HSQL Derby 这三种数据库有几个共同
  • Java 与 C++ 的区别

    近期在学习C 简单介绍下 Java 和 C 区别 Java 是纯粹的面向对象语言 所有的对象都继承自 java lang Object C 为了兼容 C 即支持面向对象也支持面向过程 Java 通过虚拟机从而实现跨平台特性 但是 C 依赖于
  • C++的std::move()

    std move 是 C 标准库中的一个函数模板 用于将对象转换为右值引用 以便支持移动语义 它位于
  • pytorch: 出现NotImplementedError 。。。。in forward

    raise NotImplementedError NotImplementedError 在利用pytorch构建model的时候 出现 NotImplementedError的错误 一般的是由于在重构nn model的时候出现了错误 主
  • 郭天祥的10天学会51单片机_第十节

    要多练 多练C语言程序 练习C语言程序编程思路 可以把别人的程序改改 找些电路焊接调试 AD985可以产生方波 三角波 正弦波 低通滤波器是通过低频阻止高频 作用是滤除杂波 液晶显示单片机状态 运算放大器放大波形 积分器将方波积分成三角波
  • 【操作系统】王道考研 p13 进程调度的时机、切换与过程、调度方式

    视频 知识总览 进程调度的时机 进程调度 就是把就绪态变为运行态 关于进程在操作系统内核程序临界区中不能进行调度与切换 临界资源 一个时间段内只允许一个进程使用的资源 各进程需要互斥地访问临界资源 临界区 访问临界资源的那段代码 举个例子
  • Java 截取String类型字符串后两位及截掉后两位

    String strhours String valueOf 123456 String strh strhours substring strhours length 2 strhours length 截取 String strm st
  • “灵巧小工具”一个将图片处理成打印纸尺寸的丰富功能完全免费无水印的图片处理工具

    今天推荐一款微信小程序 灵巧小工具 经常有打印图片需求的用户赶紧收藏了 可以先扫码体验一番 下面介绍一下它的主要功能 1 照片 1寸 2寸 5寸 6寸 支持1寸 2寸照片自动排版 生成相纸尺寸 可以选择微信聊天记录或相册中1寸或2寸照片 然
  • mac安装redis

    本文参考 mac安装redis 自我的进化http www shanxing top p 162 首先查看是否安装了homebrew brew version 如果此命令失败 那么先去安装homebrew吧 安装 从终端运行来安装redis
  • 第五课,关卡放置物体

    第五课讲了在关卡中放置物体 文件 gt 新建关卡 然后将物体放置上去 比如基本几何体的CONE 教程中用的是内容浏览器中的props文件夹里的桌子和椅子 它们都自动放置在地面上 我猜测就是物体坐标在底部 将其设置为0即可 还可以放置触发器
  • asp.net mvcview界面does not contain a definition

    在cshtml使用linq操作数据集 自动补全是可以使用Select 但是一直提示System Collection GenericList does not contain a definition for Select ccepting
  • 超全面试总结——数据仓库 超详细!!!带答案!!!持续更新中~

    超全面试总结 数据仓库 如何理解数仓 为什么要数据仓库建模 为什么要设计数据分层 通用的数据分层设计 分层的原则是什么 数据集市和数据仓库的区别 数据库和数据仓库有什么区别 维度建模三种模式 星形 雪花 星座 事实表 事实表设计方法 维度表
  • linux创建线程pthread_create函数

    函数简介 pthread create是UNIX环境创建线程函数 头文件 include
  • 目标检测常见知识点

    文章目录 1 常见目标检测结构 2 四种需要知道的特征金字塔网络 3 Focal Loss 4 FCOS 5 YOLOX beat YOLOv5 6 VFnet 7 YOLO real time model for edge devices
  • 无法连接虚拟设备 ide1:0,因为主机上没有相应的设备。您要在每次开启此虚拟机时都尝试连接此虚拟设

    运行VMware 出现以上错误 ide1 0一般是虚拟机的光驱 配置默认选项是 使用物理驱动器 而宿主机可能没有光驱 改为 使用ISO映像文件 即可
  • stata时间序列分析_Stata:时间序列教程

    2021年寒假Stata研讨班 高级计量经济学及Stata应用研讨班 2021空间计量研讨班 空间计量及Geoda Stata ArcGis Matlab应用 来源 综合整理自 http dss princeton edu training
  • STM32F103编译环境安装

    1 安装KEIL 安装包链接 链接 https pan baidu com s 1yeguqiSoHmycVblptGuOSA 密码 j0ym 点击这个 只需点下一步安装即可 自定义安装目录 注意在全英文目录下 出现这个关闭就行了 2 安装
  • STL之equal函数

    template
  • Golang fasthttp 为什么你这么优秀

    最近 需要使用 http client 发送数据 网上都说 fasthttp 据说是目前golang性能最好的http库 相对于自带的net http 性能说是有10倍的提升 参考 https studygolang com article

随机推荐

  • Firefly AIO-3399ProC开发板刷ubuntu系统 安装rknntoolkit 1.6.0 + tensorflow 2.0 + pytorch 1.5.0

    AIO 3399Pro刷ubuntu系统同时配置rknntoolkit 1 6 0 环境 由于本人所做项目需要将轻量级的深度学习算法进行部署 故前些日子购买了核心板为RK3399的深度学习开发板 用起来固然没有NVIDIA的jetson开发
  • chatgpt赋能python:建立Python开发环境的详细指南

    建立Python开发环境的详细指南 对于想要成为一名Python开发工程师的人来说 建立一个良好的开发环境是非常重要的 在安装和配置Python的过程中 您可能会遇到许多问题 并可能会出现错误 但是 请不要担心 因为这篇文章提供了一份详细的
  • keepalived高可用实战与Nginx负载均衡视频教程

    微技术 学无止境 一个专注于分享各种教程 技术 文章 分享等资源 为大家的工作 学习 提供便利 前言 大家好 我是微技术 今天给大家分享一款推荐负载均衡的学习教程 让你架构技术更加提高一点 更多深入一些技术 视频教程 keepalived
  • android 动态数据抓取,mitmproxy抓取Keep热门动态-安卓APP抓包爬虫案例

    使用mitmproxy来抓取Keep首页热门动态 鳄鱼君也是费了一天的时间去测试 在这里需要提醒大家抓包不要使用Android系统超过7 0的手机 Android系统越高手机越安全 而我们的抓包很显然是不允许的 这就是为什么你在配置了手机证
  • ajax与javascript,jquery, jquery UI

    ajax就是使用javascript语言实现的一种与服务器异步通信的方式 其核心是xmlhttprequest 像谷歌地图这种应用 如果点击某个点 需要重新刷新页面的话 用户体验很不好 这样的场所使用ajax就非常的方便 jQuery是一个
  • css媒体查询改变上边距,html - CSS宽度和边距不会与媒体查询相加

    我正在建立一个博客布局 目标是以窗口为中心 以最大宽度和最小边距为窗口 以内容为中心 我使用max width和媒体查询的组合来设置一定阈值的边距 我试着把max width和fixedmargin left和margin right放在一
  • go get & go mod找不到包问题解决

    问题一 今天在云虚机中遇到了go get执行报错的问题 报错内容如下 试了ping百度正常 说明不是DNS的问题 执行go mod tidy同样报错 最后找到问题 将GOPROXY由https proxy golang org改为了http
  • SpringBoot:自动装配提速设计

    名词约定 配置类 指使用了 Configuration Component ComponentScan Import ImportResource Bean的类 SpringBoot的设计思想就是通过一个配置类导入多个项目范围内适用的配置类
  • 《零基础入门学习Python》第087讲:Pygame:播放声音和音效

    这节课我们来谈谈 Pygame 中的 播放声音和音效 因为几乎没有任何游戏是一声不吭的 多重的感官体验更能刺激玩家的神经 没有声音的游戏就好比 不蘸番茄的薯条 尽管如此 Pygame 对于声音的处理并不是太理想 我说的是如果你想用 Pyga
  • 线性代数学习笔记——行列式的性质及拉普拉斯定理——11. 拉普拉斯定理

    这节如果不看教学视频而只看PPT的话 很难理解 这充分说明了老师的重要性 1 拉普拉斯 Laplace定理 2 基本结论 三角 对角分块矩阵行列式的计算 3 拉普拉斯定理的应用示例 求行列式 4 分块矩阵的逆的求解
  • ansible批量添加用户账户密码

    一 批量添加root用户以及密码 首先批量添加root 账号密码 不用ssh copy id root ip地址 因为如果ip比较多的情况下 ssh脚本添加会特别的麻烦 步骤1 首先要配置ansible清单 远程主机的密码这里为 12345
  • Idea上传已有项目到git

    开发经常遇到的问题是开发初期没有建立GIT仓库 开发一段时间后 需要将已有代码上传到Git 怎么将已有项目与新建的Git仓库相关联呢 借助Idea可以轻松实现 1 首先使用Git命令行 git clone XXXXX git 将项目下载 2
  • JAVA控制台输出格式

    public class PrintFormat public static void main String args Console print format System out printf format args format为指
  • Python键鼠操作自动化库PyAutoGUI简介

    PyAutoGUI是一个Python语言的键鼠自动化库 简单来说和按键精灵的功能一样 但是因为是Python的类库 所以可以使用Python代码配合一些其他类库完成更加强大的功能 下面让我为大家介绍一下吧 安装 从pip安装即可 pip i
  • 【threejs 】添加标签和射线

    three 添加标签 应用 上一篇文章我们说了世界坐标和屏幕坐标的准换那么有什么应用呢 应用 可以实现该效果 鼠标移动该模块的时候展示该模块的标签 或者可以常显 射线就是当鼠标移动到该模块该模块变化颜色 创建一个标签js文件作为封装的方法
  • 深入理解文字高度和行高的设置

    font size设置的是什么 line height设置的是什么 各种行高是怎么计算出来的 你真的知道吗 1 从font size讲起 说文字高度 当你按住鼠标左键选中一段文字的时候 这段文字背后会有一个颜色变化的区域 这个区域可以近似的
  • 零基础开发WIFI设备(esp8266)

    目录 前言 一 本例程实现功能 二 Core提供的TCP功能介绍 三 接线图 四 材料清单 五 完整代码 通过IP地址和服务器建立连接 代码运行结果 前言 shineblink core 开发板 简称Core 的库函数支持WIFI功能 所以
  • 将websocket通信端口代理到TCP通信端口的方法记录

    websocketproxy代理服务基于go语言实现 功能描述 Proxy of gateway Websockt transfer TCP protocol Websocket gt TCP TCP gt Websocket 即 实现将w
  • 禅道项目管理系统RCE漏洞复现+利用

    1 漏洞概述 禅道研发项目管理软件是国产的开源项目管理软件 专注研发项目管理 内置需求管理 任务管理 bug管理 缺陷管理 用例管理 计划发布等功能 实现了软件的完整生命周期管理 2023年1月6日 互联网披露其旧版本中存在权限绕过与命令执
  • 编写一个方法,将字符串中的空格全部替换为“%20”

    请编写一个方法 将字符串中的空格全部替换为 20 假定该字符串有足够的空间存放新增的字符 并且知道字符串的真实长度 小于等于1000 同时保证字符串由大小写的英文字母组成 给定一个string iniString 为原始的串 以及串的长度