(剑指offer题目2)字符串每个空格替换

剑指offer——替换空格 经典面试题——替换空格 阅读详情

字符串每个空格替换成“%20”

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


//方法一
//length为牛客系统规定字符串输出的最大长度,固定为一个常数
class Solution {
public:
	void replaceSpace(char *str,int len) {
        if (!str) return;
        for(int i=len-1 ; i>=0 ; i--)
        {
            if(str[i]==' ')
            {
                for(int j=len ; j>i ;j--)
                    str[j+2] = str[j] ; 
                len+=2 ;
                str[i] = '%' ;
                str[i+1]='2' ;
                str[i+2] ='0' ;
            }
        }
	}
};


// 方法二
class Solution {
public:
    // 
	void replaceSpace(char *str,int length) {
        if (!str) {
            return;
        } 
        
        int i = 0;
        int count = 0;
        int len = strlen(str);//字符串长度
        
        // 遍历获得空格个数
        for (i = 0; i < len; ++i) {
            if (str[i] == ' ') {
                ++count;
            }
        }
        
        //检查: 空格数为0,直接退出函数, 或超过存储空间
        if (len + count * 2 >= length) {
            return; 
        }
        
        for(i = len; i >= 0 && count > 0; --i) {
            if (str[i] == ' ') {
                --count;//空格数减一
                memccpy(str + i + count * 2, "%20", 3, 3);//替换一个空格
            }
            else {
                str[i + count * 2] = str[i];
            }
        }
	}
};
C++实现将一个字符串中的字符替换成另一个字符串的方法 主要介绍了C++实现将一个字符串中的字符替换成另一个字符串的方法,需要考虑的情况比较全面,有不错的借鉴价值,需要的朋友可以参考下 立即下载

相关推荐

基于LightGBM和多模型融合的量化交易研究:沪深300为例【附代码】

📊 数据科学与大数据专业 | 数据分析与模型构建 | 数据驱动决策✨ 专业领域:数据挖掘与清洗大数据处理与存储技术机器学习与深度学习模型数据可视化与报告生成分布式计算与云计算数据安全与隐私保护💡 擅长工具:Python/R/Matlab 数据分析与建模Hadoop/Spark 大数据处理平台SQL数据库管理与优化Tableau/Power BI 数据可视化工具TensorFlow/PyTorch 深度学习框架✅数据科学与大数据技术毕业论文【数据】

lagougongzuoshi的博客 1669

剑指offer1-10题C++

1.二维数组的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 class Solution { public: bool Find(int target, vector<vector<int> > array) { ...

weixin_43981221的博客 248

【硬件设计】_基于STM32单片机的智能台灯系统

智能台灯系统是一款多功能的智能照明设备,能够自动调节亮度、监测人体活动、感知环境光照,并具备定时和报警功能,极大提升了用户体验与功能的灵活性,主要包括以下功能:系统提供自动和手动两种模式以调节台灯亮度。在自动模式下,台灯会根据周围光强智能调整;而在手动模式下,用户可通过按键自行设置亮度。利用红外光电开关检测台灯与用户之间的距离,若距离过近,系统将发出报警提示。通过时钟模块设置定时提醒,并在OLED显示屏上显示当前时间,当达到设定的定时时间时,蜂鸣器将发出报警音。

2401_85381181的博客 1729

React Native字符串常见操作

1.字符串比较 1.判断数字相等用== let a = 1; if(a==1){ } 2.判断字符串相等用=== let b = 'iloveyou'; if(b === 'iloveyou'){ } 2.字符串间隔符号拆分转数组 let data = '00 11 22 33 44 55 66 77'; //拆分数据...

Tiger的专栏 1万+

科研牛马千万不要错过!手把手教你用AI精准匹配真实参考文献,仅需一个专业应用+两个提示词指令

当然也可以借助生成式AI,如GPT-5.2、Gemini 3 Pro粘贴段落,输入设计好的提示词,让模型根据段落内容匹配参考文献,并正确引用到段落合适位置,再按规范格式输出参考文献列表。阅读我提供的【正文文本】,为其中的关键论点寻找真实的、权威的参考文献(优先来源于Nature, Science, IEEE, ACM, PubMed等),并插入引用。若在段落中已经引用好了参考文献,也有参考文献列表,担心引用位置不当或论点、论述逻辑与文献不够契合,则可以用以下结构化提示词,让AI辅助审查。

智能AI让学术科研更容易 1031

Python控制程控电源(USB)

随着智能电动汽车行业的持续发展,汽车电子或嵌入式设备在软硬件的测试中,都会使用程控电源供电,特别是自动化测试、压力测试场景必定使用到程控电源控制,控制电源上下电,监听电源电流、电压等,以下就以常见的艾德克斯程控电源为例,分享如何通过USB连接方式Python语言来控制程控电源。

测试领域技术分享 2864

字符串10:空格替换练习题

字符串10:空格替换练习题

小菜鸟也想飞的博客 591

NLP高频面试题(三十一)——多模态预训练模型的主要结构、特征对齐与融合方法及对比损失函数详解

多模态预训练模型通过创新的架构设计和训练策略,在跨模态理解和表示学习上取得了显著进展。从单塔到双塔,从编码器-解码器混合到图结构模型,研究者们探索了不同的模态融合途径;配合显式与隐式对齐手段以及有效的对比学习损失,当前的多模态模型已经能够在图文检索、视觉问答、图像描述生成等任务上接近甚至超越专门的有监督模型。可以说,多模态预训练成为了继NLP和CV单模态预训练之后的又一个AI热点领域。模型规模与泛化:与单模态的大型预训练模型类似,多模态模型的参数规模和训练数据规模在迅速增长。

WeLearnNLP 2923

LeetCode:替换空格

题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 输入: 每个输入文件仅包含一组测试样例。 对于每组测试案例,输入一行代表要处理的字符串。 输出: 对应每个测试案例,出经过处理后的字符串。 样例输入: We Are Happy 样例输出: We%20Are%20Ha...

一个不知名码农的专栏 1101

Allegro如何导入芯片的Pin Delay?

Allegro在做等长时,需要导入芯片的Pin Delay才能做真正的等长。因为有些芯片内部的引脚本身就是不等长的,例如海思的部分芯片。在右栏找到芯片U1,然后在Pin Delay栏下找一个PIN脚随便输入一个数值,这一步的目的是导出Pin Delay.csv文件的格式。4、用这份文件的格式,重新编辑需要导入芯片的Pin Delay,然后选择菜单File→Import→Pin delay。2、回到PCB,选择菜单File→Export→Pin delay,导出Pin Delay。

bhxc809751502的博客 5138

Android14 Qcom 从Framework到Driver带你打开WIFI(二)

上篇文章讲到了UI打开WIFI以后,逐步调用到加载底层驱动以及通知等相关流程。这篇接着上文继续往下看WIFI ON的后续动作。

IAYLBL的博客 762

攻克名企面试题,剑指心仪offer!——题目2 字符串 替换空格

        你还在为找不到心仪的offer发愁吗?还在为面试担心吗?和我一起,提起剑来,攻克面试的种种难关!直指心仪offer!!! 题目一:在一个长度为n的数组里所有元素都在0~n-1范围内,数组中可能有某些数是重复的,但不知道那些数重复了,也不知道重复了几次。请找出任意一个重复度数字。 分析: ...

xiaomu_Y的博客 619

vue3+vite - 解决报错error while updating dependencies:Error:EACCES:permission denied,mkdir ‘x‘(系统权限问题)

vue3,vite,报错,nuxt,权限,苹果mac系统,windows系统,vue3报错,vite报错,node,详细解决方法,教程,[vite] error while updating dependencies: Error:EACCES:permission denied,mkdir 'x',更新依赖项时发生[vite]错误:错误:EACCES:权限被拒绝,mkdir,苹果mac系统加了sudo还是不行报错,运行报错,启动项目,run dev,创建项目,初始化,依旧不行怎么办,保权限没有问题,换了n

✅ 精选推荐文章 5554

2、剑指offer之替换字符串的空格,题目解析和java实现方法

题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 要求 时间限制:1秒 空间限制:32768K 题目解析 用java语言的实现思路可以分为下列两种 使用replaceAll函数 public String replaceSpace(StringBuffer...

证件同学的博客 253

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

剑指offer第2版:字符串

字符串是一大考察重点!

weixin_51142926的博客 1436

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

[剑指Offer]-替换空格

题目描述 请实现一个函数,将字符串的每个空格替换为"%20"。例如输入"We are happy",则输出"We%20are%20happy."。 解题思路 如果有足够空间,老老实实向后遍历遇见空格把后面的字符都往后移动两个字节。时间复杂度O(n^2) 假设字符串的长度是n。对每个空格字符,需要移动后面O(n)个字符,因此对含有O(n)个空格字符的字符串而言总的时间效率是O(n2)。 从...

LeoByte的编程驿站 529

字符串专题-LeetCode:反转字符串||、剑指Offer 05.替换空格、反转字符里的单词 代码思路和注意点

字符串专题-LeetCode:反转字符串||、剑指Offer 05.替换空格、反转字符里的单词 代码思路和注意点

UUUUU22的博客 434

c++ string添加字符_字符串:替换空格

遇到对字符串或者数组做填充或删除的操作时,都要想想从后向前操作怎么样。题目:剑指Offer 05.替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."思路如果想把这道题目做到极致,就不要只用额外的辅助空间了!首先扩充数组到每个空格替换成"%20"之后的大小。然后从后向前替换空格,也就是...

weixin_39537977的博客 447

剑指offer-刷题笔记-简单题-JZ5 替换空格

剑指offer-刷题笔记-简单题-JZ5 替换空格 版本1 不知道可以通过索引直接从string s中访问元素,建立了一个char 型数组过渡 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ string replaceSpace(string s)

cmdxly的博客 389

【Leetcode】剑指offer(第2版)刷题笔记|简单

剑指offer(第2版)刷题笔记|Python|C++|简单 刷题传送门 字符串 左旋转字符串(58-II) 读题后思路:切片/索引;字符串拼接 具体做法:目标字符串是两部分的拼接,第一部分是原字符串n之后的部分,第二部分是原字符串首部到n位置的内容。 class Solution { public: string reverseLeftWords(string s, int n) { string res; for(int i = n;i<s.

kodoshinichi的博客 297

剑指offer2刷题(字符串类)

字符串专项练习;c++版;leecode

tiyloving的博客 358

【LeetCode & 剑指offer刷题】字符串题2:5 替换空格

【LeetCode &amp; 剑指offer刷题】字符串题2:5 替换空格 【LeetCode &amp; 剑指offer 刷题笔记】目录(持续更新中...) 5 替换空格 题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。   ...

技术改变世界 1189

【剑指offer】替换空格

剑指offer:替换空格

子夜的个人博客 827

剑指offer面试题:替换空格(将字符串每个空格替换为%20)

题目:请实现一个函数,把字符串的每个空格替换成“%20”。例如:输入:“we are happy.”,则输出:“we%20are%20happy.” 这里考虑的是在原来的字符串上做替换这一种情况: 若我们用直接做法从头到尾扫描字符串,每碰到一个空格就做替换,其空格后面的字符都必须后移两个字节,如图: 浅黄色背景代表需要移动的字符,紫色背景代表需要移动两次的字符,因此,若这样做,有O(n)

L_XRUI的博客 3151

剑指 Offer 05. 替换空格

剑指 Offer 05. 替换空格

yanxiang3306 3353

实现一个函数,替换字符串的空格。

剑指offer——实现一个函数,把字符串的每个空格替换成%20。如to be or not to be,输出to%20be%20or%20not%20to%20be。 方法1:定义一个指针p指向数组,数组内元素个数为len,直观扫描数组,没有遇到空格时p++,遇见空格时将空格置为'%',利用memmove函数将数组往后移动两个字节,移动后的两个字节分别存放‘2','0',同时p+=3,每扫描一次...

July 2643
上一篇: (剑指offer题目1)二维数组查找
下一篇: (剑指offer题目3)输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
elimuzi
博客等级 码龄10年 56粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值