剑指offer5-替换空格

掌控板玩板指南1:初识掌控板、扩展板、Mind+编辑器 掌控板、I/O扩展板入门 阅读详情

剑指offer5-替换空格

    请实现一个函数,把字符串中的每个空格替换成"%20"。
    你可以假定输入字符串的长度最大是1000。
    注意输出字符串的长度可能大于1000。

样例

输入:"We are happy."
输出:"We%20are%20happy."

思路:

    1、思路简单,看代码就懂,碰到空格就替换,python的话也可以直接用str.replace(" “, " %20”);
    2、若是用数组或者C语言,这一类,需要先遍历一遍数组,计算出有多少个空格,然后从固定的位置从后往前遍历数组,碰到空格的时候替换为“%20”。

AcWing-16 C++ code:


class Solution {
public:
    string replaceSpaces(string &str) {
        string res = "";
        for(auto x : str){
            if(x == ' '){
                res += "%20";
            }else{
                res += x;
            }
        }
        return res;
    }
};

牛客网 C++ code :

class Solution {
public:
	void replaceSpace(char *str,int length) {
        int space_count = 0;
        for(int i = 0; i < length; i++){
            if(str[i] == ' '){
                space_count++;
            }
        }
        int right_index = space_count * 2 + length - 1;
        for(int i = length - 1; i >= 0; i--){
            if(str[i] == ' '){
                str[right_index--] = '0';
                str[right_index--] = '2';
                str[right_index--] = '%';
            }else{
                str[right_index--] = str[i];
            }
        }
	}
};

AcWing-16 python code:

class Solution(object):
    def replaceSpaces(self, s):
        """
        :type s: str
        :rtype: str
        """
        res = ""
        n = len(s)
        for i in range(n):
            if s[i] == ' ':
                res += "%20"
            else:
                res += s[i]
        return res
详解Xilinx FPGA高速串行收发器GTX/GTP(1)--SerDes和GTX的关系 阅读详情

相关推荐

LVGL 实战:虚拟列表与对象复用机制在嵌入式GUI中的性能优化

本文深入探讨LVGL虚拟列表与对象复用机制在嵌入式GUI中的性能优化实践。通过复用机制动态管理UI对象,大幅降低内存占用,实现无限滚动列表的流畅体验。文章详细解析核心算法、内存优化策略及跨平台适配技巧,帮助开发者在资源受限设备上高效处理大量数据展示。

rice5的博客 1106

AcWing 30.正则表达式匹配(python版)

题目描述 请实现一个函数用来匹配包括’.‘和’‘的正则表达式。 模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。 例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配。 样例 输入: s=“aa” p=“a*” 输出:true 思路 这是道难度系数为困难的题,一开始自己是没有思路的,后面参考了LeetCode上一位大神写的题解,跟随着他的思路写下来了,代码部分也参考了他的。附

fuzzy__H的博客 264

(92页PPT)某大型集团信息化项目企业数字化转型ERP系统蓝图设计规划方案(附下载方式)

同时,外贸获利空间被严重挤压,必须从价格竞争转向品牌竞争。该方案针对某大型外贸集团在数字化时代的转型需求,提出了一套完整的ERP系统建设框架和实施路径,具有很高的专业参考价值。特别值得关注的是方案提出的"价值为先"指导思想,通过将企业价值图与信息系统建设紧密结合,确保IT投资直接支撑价值创造。同时,方案充分考虑了集团多元化、国际化的发展需求,设计了灵活可扩展的系统架构。总的来说,这份实施方案专业性强、内容全面、措施具体,既立足解决当前问题,又着眼未来发展需求,为大型集团企业的数字化转型提供了优秀范本。

AI_data_cloud的博客 1026

剑指offer打卡 JZ5替换空格

在牛客网刷的,还是跟一样非acm模式,由于急着暑期实习题量不固定,八股算法轮刷打卡内容偏个人笔记,本人水平一般(代码随想录稀里糊涂刷了一遍),从小白开始分析(甚至会分析语法),尽量一题多解深入探究(一般ac后看看前三个题解发散下思维),希望能对你有帮助。

cangshanjiang的博客 364

东方财富网 数据访问接口及字段说明

东方财富网 数据访问接口和字段说明

雨中山草 2万+

Agent框架系列:1-低代码智能体平台深度解析Dify、Coze、n8n

Dify、Coze 和 n8n 是三大主流低代码智能体平台,各有侧重。Dify 适合企业级 AI 应用,具备强大的 RAG 和知识库管理能力,技术栈为 Python + React。Coze 由字节推出,主打零代码和快速原型开发,集成 60+ 插件,极适合非技术用户。n8n 以工作流自动化和系统集成为核心,支持 400+ 外部应用,基于 Node.js + Vue,扩展性极强。选择建议:非技术团队选 Coze,AI 应用选 Dify,复杂自动化与集成选 n8n。可根据实际需求混合使用,最大化平台优势。

3085

【剑指offer】面试题5 替换空格

1.主旨 这道题的关键是理解题意,书中作者明确说明了,这种类型的题目总会有就地/不就地处理模式,以及字符串长度管理的问题,而书中的假设是“进行就地处理,并且保证输入的字符串本身就具有足够的空间”。所以,对于此题的实现可以非常快速地定位到两种解决方案:从前往后的将空格变为%20,或者从后往前的将空格变为%20。 2.考点 考点1:注意审题:如果字符串本身的长度不够,那么就必须进行非就地处理,其...

方寸间沧海桑田的博客 330

【TELEMAC V8P4】TELEMAC-2D 用户手册核心概念与应用场景速览

本文深入解析了TELEMAC-2D水动力模型的核心概念与应用。作为基于二维浅水方程的开源数值模拟工具,TELEMAC-2D广泛应用于河流动力学、洪水演进、污染物输运及泥沙运动模拟。文章结合用户手册与实战经验,详细拆解了其理论框架、关键物理过程(如湍流模型、干湿网格处理),并提供了从模型搭建、文件配置到典型场景(如工程评估、污染应急、洪水模拟)的实用指南,帮助用户快速掌握这一强大工具。

weixin_29200741的博客 163

剑指offer JZ5 替换空格

例如,当字符串为“We Are Happy“.则经过替换之后的字符串为“We%20Are%20Happy“。数据范围:0≤len(s)≤1000。保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。请实现一个函数,将一个字符串s中的每个空格替换成“%20“。遍历字符串进行替换,for-each是顺序遍历的。

qq_74980411的博客 278

【鸿蒙游戏上架审核规范指南】

华为鸿蒙游戏上架审核规范指南摘要

weixin_44161102的博客 919

AgentScope 2.0 源码解析-工具系统解读:从内置工具到权限管控的完整实践

本文深入解析AgentScope 2.0工具系统的完整架构,覆盖内置工具集(文件读写、命令执行、搜索匹配)、MCP协议集成(STDIO/HTTP双传输、客户端封装、工作空间网关)、工具包管理与动态分组、权限引擎的多级决策机制(危险路径保护、只读识别、模式控制),以及自定义工具开发流程。通过分层架构图和时序图直观展示组件协作关系,结合安全最佳实践与故障排除指南,为开发者提供从工具使用到安全管控的全链路参考。

program哲学 570

剑指offer 5:替换空格

public class Solution { public String replaceSpace(StringBuffer str) { int numOfBlank = 0; for(int i=0;i&lt;str.length();i++){ if(str.charAt(i) == ' ') ++numOfBla...

Lyn_Notes 191

VisionTransformer改进(11):结合CoordAtt注意力机制

​​CoordAtt模块​​:一个轻量级的坐标注意力机制​​ViT模型​​:基于标准Vision Transformer架构,但集成了CoordAtt模块模型最终通过CNNModel函数封装,虽然名称是CNN,但实际上是一个Transformer模型。引入了轻量级的CoordAtt注意力机制,增强了模型对空间位置信息的捕捉能力保持了ViT的主要优势,同时通过注意力机制提升了特征表示能力设计简洁高效,适合作为基础模型进行进一步研究和应用。

2401_82355416的博客 701

剑指offer第2版——面试题5:替换空格

第五题:替换空格

qq_42615475的博客 910

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

剑指 Offer(第2版)面试题 5:替换空格

剑指 Offer(第2版)面试题 5:替换空格

ProgramNovice的博客 478

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【剑指offer】5、替换空格

题目 请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。 解题思路 思路1: 思路2: 1、先遍历一次字符串,这样就能统计出字符串中空格的总数,并可以由此计算出替换之后的字符串的总长度。   以前面的字符串"We arehappy."为例,"We are happy."这个字...

火山君的博客 164

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

剑指offer5:替换空格

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 1.对于这种数组复制题目,主要从后往前处理。 2.Java来写最好是StringBuilder 加上reverse.toString来处理 3.2个指针,p1指针指向原数组的末尾,P2指针指向新复制的数组的末尾,当p1不为空时,p1复...

weixin_39137699的博客 228

剑指offer-5.替换空格

测试地址 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路 首先遍历一次字符串,记录字符串的实际长度,和空格数目,接着计算出替换后新字符串的长度,然后用两个指针p和q分别指向原字符串尾地址和新字符串的尾地址,倒序遍历,遇到空格就让q向前走三步,否则就让q=p,直到p走到头。...

紫藤&code的博客 182

剑指offer. 5替换空格

剑指offer. 5替换空格 题目描述: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路: 问题1:替换字符串,是在原来的字符串上做替换,还是新开辟一个字符串做替换! 问题2:在当前字符串替换,怎么替换才更有效率(不考虑java里现有的replace方法)。 ...

speargod的博客 148

剑指offer5替换空格

在这里插入代码片 ```public class Solution { public String replaceSpace(StringBuffer str) { String strl=str.toString(); if(strl.equals("")) return strl; char [] strArray...

小胖的博客 163

【剑指Offer】5. 替换空格

题目描述 将一个字符串中的空格替换成 “%20”。 Input: "A B" Output: "A%20B" 解题思路 在字符串尾部填充任意字符,使得字符串的长度等于替换之后的长度。因为一个空格要替换成三个字符(%20),因此当遍历到一个空格时,需要在尾部填充两个任意字符。 令 P1 指向字符串原来的末尾位置,P2 指向字符串现在的末尾位置。P1 和 P2 从后向前遍历,当 P1 遍历到一个空格时,就需要令 P2 指向的位置依次填充 02%(注意是逆序的),否则就填充上 P1 指向字符的值。 从后向前遍

瑞新の博客:bennyrhys 1658

剑指offer的题解——5.替换空格

剑指offer的题解——5.替换空格 题目: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 最直观的做法是从头扫到尾,每次碰到空格时进行替换。于是把1个字符替换成3个字符,就必须要把空格后面的所有字符都后移2字节。假设字符串长度为n,对每个空格字符需要移动后面O(n)个字符,因此对于含...

zurh500的博客 218

剑指offer:其他算法系列--JZ5 替换空格,简单

这篇文章介绍了一个Java字符串处理算法,用于将字符串中的空格替换为"%20"。算法使用StringBuilder来高效构建结果字符串,遍历输入字符串的每个字符,遇到空格就替换为"%20",否则保留原字符。该解决方案的时间复杂度为O(n),需要遍历整个字符串一次;空间复杂度也是O(n),用于存储结果字符串。这种方法利用了StringBuilder的可变性来高效处理字符串拼接操作。

weixin_51243388的博客 147

剑指offer5 替换空格

替换空格 描述 请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy”,则输出”We%20are%20happy”. 方法 一种是使用不改变字符串的方法,利用stringbuilder方法new一个,从原数组往外拿的过程中判断空格等等。原理很简单。记住StringBuilder。 另一种是改变元字符串,增加长度,再添加。 代码 public class R...

Daci Studio 256

剑指Offer 5.替换空格

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 话不多说直接上代码: package $5; /** * @author PineappleSnow * @version 1.0 * @date 2020/4/7 17:17 *5.替换空格 * */ public clas...

jiangkun0331的博客 233

剑指offer第二版-5替换空格

题目:实现一个函数,把字符串中的每个空格替换成“%20” 代码: /** * 实现一个函数,把字符串中的每个空格替换成“%20”。 * 通过按传统办法,假设字符的长度是n。对每个空格字符,需要移动后面O(n)个字符,因此对含有O(n)个空格字符串而言总的时间效率是O(n2) * 在前面的分析中,我们发现数组中的很多字符都移动了很多次,能不能减少移动的次数呢?我们换一种思路,把从前向后替换成从...

VicterTian的博客 622
上一篇: 20190511-剑指offer4-AcWing-15. 二维数组中的查找
下一篇: 剑指offer6 从尾到头打印链表
WangXu__
博客等级 码龄9年 3粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值