字符串替换C++实现

2023-10-30

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

思路:给定了字符串,和字符串最大长度,替换空格为“%20”,找出所有空格,计算新的长度,然后用双指针法一个从str的末尾开始,一个从新str的末尾开始,直接在原str上替换即可。

class Solution {
public:
	void replaceSpace(char *str,int length) {
        int len = strlen(str);
        int num = 0;
        for(int i = 0 ; i < len ; i ++)
        {
            if(str[i] == ' ') num++;
        }
        int newlen = len + num * 2;
        str[newlen--]='\0';
        len --;
        while(len >= 0)
        {
            if(str[len] == ' ')
            {
                str[newlen--] = '0';
                str[newlen--] = '2';
                str[newlen--] = '%';
                len --;
            }
            else str[newlen--] = str[len--];
        }
	}
};

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串替换C++实现 的相关文章

  • 备战2024秋招面试题-最左匹配原则、索引失效情况、算法(最长回文子串)

    前言 textcolor Green 前言 前言 快秋招了 那么这个专栏就专门来记录一下 同时呢整理一下常见面试题 部分题目来自自己的面试题 部分题目来自网络整理 给我冲 学习目标 面试题 算法题 完成 学习目标 最左匹配原则 索引失效情况
  • JAVA中正则表达式的使用

    正则表达式 用法 一 使用正则表达式对String进行匹配 1 控制匹配长度 1 使用 n 来精确控制 2 使用 n 表示大于等于n个 3 使用 m n 控制范围 4 使用 表示可以出现 0次或一次 5 使用 表示可以出现 0次或多次 6
  • 8.翻转子串

    题目描述 假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串 请将这个算法编写成一个函数 给定两个字符串s1和s2 请编写代码检查s2是否为s1旋转而成 要求只能调用一次检查子串的函数 给定两个字符串s1 s2 请返回bool
  • Java数字字符串的判断与转换

    文章目录 引言 一 判断字符串是否为数字 1 1 第三方包StringUtils isNumeric 1 2 Java自带方法Character isDigit 1 3 正则表达式 二 将字符串转化为数字 2 1 整数 2 2 小数 参考
  • Java Scanner nextInt()方法与示例

    扫描器类的nextInt 方法 Scanner Class nextInt method Syntax 句法 public int nextInt public int nextInt int rad nextInt method is a
  • Scanner类中next()和nextLine()的区别

    详解Scanner类中next 和nextLine 的区别 Scanner类中的next 和nextLine 方法是我们经常使用的键盘录入方法 那么两者之间有何不同呢 next 从控制台获取字符串 如果字符串中包含空格 只会获取空格前前的字
  • 为什么无法用数组名输出数组的的首地址

    当我们直接输出其他类型数组的数组名时 打印的都是一串地址 而字符数组打印的是字符串 为什么 因为字符串中 0 这个结束符 计算机可以知道在哪里读取结束 所以打印数组名就代表输出里面存储的字符串 其他类型没有结束符 计算机不知道从哪里停止 所
  • “字符串的展开”【题解】

    字符串的展开 的题目 题目 题目描述 在初赛普及组的 阅读程序写结果 的问题中 我们曾给出一个字符串展开的例子 如果在输入的字符串中 含有类似于 d h 或者 4 8 的字串 我们就把它当作一种简写 输出时 用连续递增的字母或数字串替代其中
  • Leetcode刷题316. 去除重复字母

    给你一个字符串 s 请你去除字符串中重复的字母 使得每个字母只出现一次 需保证 返回结果的字典序最小 要求不能打乱其他字符的相对位置 注意 该题与 1081 https leetcode cn com problems smallest s
  • Python注释(多行注释和单行注释)用法详解

    注释 Comments 用来向用户提示或解释某些代码的作用和功能 它可以出现在代码中的任何位置 Python 解释器在执行代码时会忽略注释 不做任何处理 就好像它不存在一样 在调试 Debug 程序的过程中 注释还可以用来临时移除无用的代码
  • 突如其来的C#重新学习(2)

    突如其来的C 重新学习 2 关于Main入口点的问题 Main在C 中不能单独声明 所以必须声明在同一个类中 而且必须声明静态方法 返回可以是void或者int 正常执行应当返回0 对于一个命名空间之内有很多的类的情况下 就可以手动选择从哪
  • list转json字符串

    使用Gson把list转成json字符串 com google gson Gson GetMapping valueTest public String valueTest List
  • 提取字符串中的数字C/C++(指针)

    任务描述 本关任务 在一串隐藏着一个或多个数值的字符中 选出字符串中的所有数字字符 并将选出的数字字符重新组成新字符串 如果在第一个数字字符之前有负号 则保留该负号 有多个负号时只保留一个 例如 输入的字符串为 a 1 2 4sd5 s6
  • Date类型与字符串的相互转换

    Date时间类型与字符串的相互转换 Test public void date throws ParseException 一 Date时间类型转字符串 1 获取当前时间 Date date new Date 2 设定时间格式 下面两行可以
  • 基础算法题——帅到没朋友(唯一性)

    帅到没朋友 当芸芸众生忙着在朋友圈中发照片的时候 总有一些人因为太帅而没有朋友 本题就要求你找出那些帅到没有朋友的人 输入格式 输入第一行给出一个正整数N 100 是已知朋友圈的个数 随后N行 每行首先给出一个正整数K 1000 为朋友圈中
  • Java基础之String类型详解

    目录 1 简介 2 字符串的比较 3 String的实例化方式 1 直接赋值方式 2 构造方法实例化 4 String对象 常量 池 5 字符串修改 6 String类常用方法 1 字符串查找 2 字符串替换 3 字符串拆分 4 字符串截取
  • Java中占位符的实战运用

    java中的占位符 有以下几种等等 s字符串类型的占位符 b布尔类型的占位符 d整数类型的占位符 c字符类型的占位符 我们大多情况就只用前两种 举个例子 Created by xiwen on 2021 1 14 Slf4j public
  • 表示数值的字符串(含思路解答示意图)【剑指offer——JAVA实现】

    题目描述 请实现一个函数用来判断字符串是否表示数值 包括整数和小数 例如 字符串 100 5e2 123 3 1416 和 1E 16 都表示数值 但是 12e 1a3 14 1 2 3 5 和 12e 4 3 都不是 解法一 思路 状态机
  • Python编程中的for循环语句学习教程

    本文来源于公众号 csdn2299 喜欢可以关注公众号 程序员学府 这篇文章主要介绍了Python编程中的for循环语句学习教程 是Python入门学习中的基础知识 需要的朋友可以参考下 Python for循环可以遍历任何序列的项目 如一
  • 滑动窗口专题(字节面试题)

    关键字 连续数组 字串 1 和为s的连续正整数序列 剑指offer57 II 输入一个正整数 target 输出所有和为 target 的连续正整数序列 至少含有两个数 序列内的数字由小到大排列 不同序列按照首个数字从小到大排列 示例 1

随机推荐

  • vim的超详细使用方法

    文章目录 vim的四种模式 命令模式详解 移动光标 快速定位光标 复制 粘贴 剪切和删除 撤销和恢复 编辑模式详解 底行模式详解 保存和退出 文件内容的替换 显示行号 paste 查找和搜索 可视化模式 批量注释 批量去注释 vim是史上最
  • VC6.0无法安装,老是未响应

    今天我安装VC6 0 然后发现老是安装的进候 刚进去就程序未响应 特别的郁闷 弄了好多次 开始是怀疑是安装程序的问题 后来我换了一个版本 还是不可以 最后想想可能是因为我的WINDOWS分区的原因 因为我的系统本身是VISTA的 后来装双系
  • 利用傅立叶变换进行图像处理的代码演示

    前面有篇文件介绍过使用DCT 离散余弦 变换进行图像处理的例子 Matlab一探DCT IDCT变换在图像压缩中的应用 tugouxp的专栏 CSDN博客绝大多数图像都有一个共同特征 平坦区域和内容缓慢变化的区域占据一幅图像的大部分 而细节
  • Win11蓝屏代码IRQL NOT LESS OR EQUAL的处理方法

    蓝屏错误IRQL NOT LESS OR EQUAL是用户常见的系统故障了 升级到Win11新系统也遇到了同样的问题 那么Win11蓝屏问题IRQL NOT LESS OR EQUAL要如何解决 下面就来看看小编整理的解决办法 什么是 IR
  • Java 8: 元空间(Metaspace)

    前言 很多开发者都在其系统中见过 java lang OutOfMemoryError PermGen space 这一问题 这往往是由类加载器相关的内存泄漏以及新类加载器的创建导致的 通常出现于代码热部署时 相对于正式产品 该问题在开发机
  • 解决报错:错误1130- Host xxx is not allowed to connect to this MariaDb server

    在云服务器上面搭建了MariaDb MariaDB是MySQL源代码的一个分支 但是远程链接不上 首先 你要确保服务器安全组3306端口已经开放 在确保端口开放的情况下 如果出现错误代码1130 Host xxx is not allowe
  • SuperPoint 论文详解

    SuperPoint 该论文是 magic leap 公司在18年的一篇工作 而且提供了代码 基于 pytorch 的 不过遗憾的是训练代码和相应的渲染的训练数据没提供 主要思路 本文提出了一个自监督的方式去训练网络来提取特征点以及计算描述
  • 【LoadRunner】解决LR11无法录制Chrome浏览器脚本问题

    LoadRunner 解决LR11无法录制Chrome浏览器脚本问题 LoadRunner录制脚本时 遇到高版本的IE FireFox 或者Chrome浏览器 会出现无法录制脚本的问题 下面就来讲一下如何利用LR自带的wplus init
  • tflearn anaconda 安装过程记录

    准备工作 gcc升级为4 8 2glibc升级为2 18 opt xxx xxx components ficlient bigdata env 里加入 export LD LIBRARY PATH usr local lib usr lo
  • SpringBoot调取OpenAi接口实现ChatGpt功能

    很高兴和大家分享我实现的一个小项目 利用 Spring Boot 实现了一个 ChatGpt 对话系统 在本文中 我将详细介绍这个项目的实现步骤 以及代码实现 什么是 ChatGpt ChatGpt 是一种基于 GPT 技术的对话系统 能够
  • 剑指offer45 把数组排成最小的数

    目录 题目链接 解法1 调用sort 解法2 冒泡排序的扩展 题目链接 链接 其实这道题 大概看完就知道是一个排序的问题 无非就是数组中的元素以一个合适的位置排好序 这样从头加到尾 组成的整体数字最小 题目中也暗示你排序问题了 个人捉摸了一
  • linux系统启动过程(方便记忆步骤&详细步骤)

    linux系统的启动过程 大致可以分为五个阶段 内核的引导 运行init 系统初始化 建立终端 用户登录系统 大致步骤 1 内核的引导 操作系统 gt boot 2 运行init 操作系统 gt boot gt init进程 配置文件 et
  • Wix toolset打包工具介绍

    Wix Toolset工具目前是windows平台应用打包比较好用的工具 最大的两个优点是功能全面和免费软件 下面来介绍一下这个软件 Wix Toolset官网 1 Wix的核心是一组build工具 Wix来生成windows安装包的理念跟
  • opencv学习笔记之十五——最小外接矩形(RotatedRect返回角度angle问题)

    最近在看一个车牌识别开源项目时 对其中RotatedRect的角度属性理解得不清楚 也查找了大量博客 得出了基本结论 最后通过实验进一步进行了验证 RotatedRect该类表示平面上的旋转矩形 有三个属性 矩形中心点 质心 边长 长和宽
  • 数据结构-1

    基本概念 数据 data 计算机中指的是能输入到计算机中并被计算机程序处理的符号的总称 比如 图像 声音等都可以在进行编码后被称为数据 再在计算机中进行处理 数据元素 data element 数据的基本单位 数据元素可由多个数据项 dat
  • Takeown、Cacls、Icacls-文件、文件夹夺权用法

    常用示例如下 takeown f 文件名 获取该文件的所属权 takeown f r d n 文件夹 获取整个文件夹及其下面子目录文件的所属权 takeown f a r d y 强制将当前目录下的所有文件及文件夹 子文件夹下的所有者更改为
  • 算法-DS证据理论

    适用领域 信息融合 条件 证据独立 特点 1 满足比贝叶斯理论更弱的条件 不必满足概率可加性 2 具有直接表达 不确定 和 不知道 的能力 这些信息保存在mass函数中 并在证据合成过程中保留了这些信息 3 证据理论不但允许人们将信度赋予假
  • 解决插入word文档中的图片变得不清晰问题

    打开文件 找到选项 打开高级 找到不压缩图片并勾选 确定并退出
  • saltstack安装

    ubuntu install 1 ppa install sudo add apt repository ppa saltstack salt sudo apt get update sudo apt get install salt ma
  • 字符串替换C++实现

    题目 请实现一个函数 将一个字符串中的每个空格替换成 20 例如 当字符串为We Are Happy 则经过替换之后的字符串为We 20Are 20Happy 思路 给定了字符串 和字符串最大长度 替换空格为 20 找出所有空格 计算新的长