剑指offer(2) 字符串的替换

小白 虚拟机 kali_Linux安装 详细教程 安装版本:VMmare workstation pro kali_Linux 安装环境:Window10 首先我们先了解一下什么是kali_linux: Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。每一季度更新一次。由Offensive Security Ltd维护和资助。最先由Offensive Security的Mati Aharoni和Devon Kearns通过重写BackTrack来完成,BackTrack是他们之前写的用于取证的Linux发行 阅读详情

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

我们先观察我们的功能函数,void replaceSpace(char *str, int length);
这个函数中,没有返回值,就意味着我们的一级指针既是输入,也是输出。
然而,我们的数据肯定是str所指向的内存,一级指针做参数时,我们无法修改 (实参) 地址,让它指向其他的内存。
所以,我们必须要在str所指向的字符串上进行拷贝工作。
我们的字符串类似 “we are happy” 目标字符串“we%20are%20happy”
如果我们从前往后拷贝,那么就会修改到原来的数据而无法进行完整的空格与“%20”的替换。
那么我们只能由后往前。
解决方案:
1. 统计空格的个数
2. 计算由后往前的开始位置 字符串长度 + 空格个数 * (替换字符串-原字符串)
3. 由后往前挨个填写对应的数据

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


};
Arduino、ESP32驱动SFA40甲醛传感器(气体传感器篇) SFA40甲醛传感器是一款基于盛思锐电化学原理的专业HCHO检测模块,具备卓越的抗酒精干扰能力(乙醇交叉敏感度<0.3%)、高达±20ppb的检测精度及0~1000ppb的宽量程。该传感器内置SHT4X温湿度传感器进行自动补偿,确保数据的长期稳定性;其小尺寸、低功耗的特性,可快速集成至智能家居、空气净化器、物联网环境监测等系统中,实现对甲醛浓度的精准、可靠监测。 阅读详情

相关推荐

CHIP-Seq数据分析流程

文章目录CHIP-Seq数据分析流程相关软件安装数据下载将SRA转化为fastq文件数据质控,过滤数据质控然后进行质控,过滤低质量reads,去接头比对下载小鼠参考基因组的索引和注释文件比对sam文件转bam为bam文件建立索引载入IGV查看用MACS call peak安装MACS结果注释与可视化 CHIP-Seq数据分析流程 相关软件安装 所需要的软件有sratoolkit, fastqc,bowtie2,samtools,macs2,htseq-count,bedtools和前面RNA-seq数据分析

bio_meimei的博客 8791

剑指Offer NO.2——替换空格

题目描述: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 代码: public class Solution {     public String replaceSpace(StringBuffer str) {         String str1=str.toString...

Cinnabar的博客 232

图自编码器(GAE)与变分图自编码器(VGAE)

在学习图自编码器之前先了解一下自编码器与变分自编码器。

小鱼的小窝 1万+

《剑指offer》之字符串替换

《剑指offer》之字符串替换 题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题方案: 使用replace()函数:通过将StringBuffer转换为String类,然后使用自带的replace函数进行字符替代。 代码: public String replaceSpac...

Newtol的博客 561

stm32H743基于CubeMX配置为双ADC多通道DMA规则采样

stm32H743的ADC支持的最大频率为36MHz,有相关资料上说是可以超频,具体技术细节不多讨论。 需求: 使用stm32H743的ADC采集5路ovrc

xtqbp的博客 4364

VTK的编译和部署,配合c++和visual studio2022,VTK开发环境的配置

在官网选择最新的版本下载之后进行解压,然后再里面创建build目录,方便后面使用cmake进行编译。

dz131lsq的博客 3223

【剑指offer】替换字符串中的空格

剑指offer上的第二道题目,在九度OJ上测试通过,但还是有些问题,因为是用C语言实现的,因此,要提前开辟一个比较大的空间来存储输入的字符串。而如果在线测试系统的测试用例中字符串的长度大于该最大值的话,会报RE,但是九度OJ的测试用例没有大于我所设定的字符串的最大值。当然,这道题目用C++中的string类或java中的String类实现会更好,不需要担心输入字符串的长度。

兰亭风雨的专栏 4318

Aurix TC3xx系列MCU ResourceM模块配置(多核资源分配)

为减轻主核的负载率或者平衡各个核的资源分配,通常需要把一些MCU内部资源分配到从核上,在EB tresos工具中,通过ResourceM模块实现多核资源分配。

m0_38045338的博客 1388

《剑指offer》在字符串中替换另一个字符串

将字符串中的某些字符做替换 一、简介 将一个字符串中的,某一个字符或者字符串替换成另一个字符或字符串。 根据《剑指offer》中讲到的思想,下面来做一个分析。 我们可以先遍历一次字符串,这样就能计算出替换之后的字符串的总长度。也就是说,如果我们原来字符串中的某一个字符替换成某一个更长的,那么替换之后字符串的总长度就会变长。此一步骤的目的就是,计算出替换后总长度,才好分配内存去存储。 例如:...

wit_732的博客 364

如何让C++程序生成dump文件?生成dump文件的方式有哪些?如何使用Windbg分析dump文件?

本文详细介绍了如何让C++程序生成dump文件、生成dump文件的多种方式以及如何使用Windbg分析dump文件,并给出了对应的实战分析案例,有一定的实战参考价值。

dvlinker的技术专栏 5万+

YOLOv8改进,MobileNetV3轻量化架构改进特征提取网络,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。本文开始探讨了自动化搜索算法与网络设计如何协同工作,以利用互补方法来提升整体技术水平。通过这一过程,创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用场景。这些模型随后被适配并应用于目标检测和语义分割任务。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3835

剑指offer----005(字符串空格替换)

更多题目请点链接:《剑指offer》目录索引 问题描述: 实现一个函数,将字符串中的每个空格替换成%20。例如:”We are hanppy.“,则输出“We%20are%20happy.”,要求时间复杂度为O(n) 问题分析: 根据描述,此题意思改变字符串内容,并且改变了原字符串长度; 要求时间复杂度为0(n),故不能直接替换; 思路: 第一步,...

zhangye3017的博客 434

GRSL 2026 即插即用 | Transformer篇 | DCSA:动态稀疏门控自注意力,兼顾长距离依赖与局部细节表达!

SDANet整体架构和模块Dynamic Channel Sparse Attention (DCSA):DCSA为Transformer块中的自注意力层。DCSA架构:样本级动态稀疏注意力:首次实现每个样本独立预测注意力稀疏度:通过轻量门控网络根据输入特征的复杂度自适应调整保留的通道数,简单样本使用更高稀疏度(如保留 20% 通道),复杂样本使用更低稀疏度(如保留 80% 通道),在保证精度的前提下平均计算量降低 50% 以上。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 110

剑指offer——2、替换字符串

题目 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解法 提供了两种方法实现字符串的替换。具体见代码。 方法一:利用String类的replace方法 方法二:利用循环charAt(),建立新的StringBuilder进行append拼接操作。 public class test02...

weixin_42924812的博客 201

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

《剑指offer》2、字符串替换

题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 public class Solution { public String replaceSpace(StringBuffer str) { int oldLength = str.l...

178

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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

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

技术改变世界 1189

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

剑指offer 2 替换空字符串

替换空字符串为20% 先遍历一遍知道空格数目,然后从后向前开始复制 class Solution { public: void replaceSpace(char *str,int length) { int spaceNum=0; for(int i=0;i<length;i++) { if(str[i]==' ')

DDFFR的博客 656

剑指offer系列--2.字符串操作,将空格替换为其他字符

2.字符串操作,将空格替换为其他字符 一、问题描述: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 二、解决方案 1、使用java API,replace方法 public String replaceSpace1(StringBuffer str) { if(str==null){ return null; } /** * replace方法的参数 * -

sjsjdnehzhs的博客 204

剑指offer-2替换空格为指定字符串

该题是剑指offer的基础题,输入一个字符串,里面有一些空格,将空格填写“%20”这三个字符。然后输出。 下面是简单代码。 public class Test0401{ public static void replaceblank(char[] string,int usedLength) { //统计空白字符数 int blanknum = 0...

张凡的博客 167

C++_字符串空格替换/《剑指offer.2》

网上的正确代码很多,我在这里只是想记录一下自己解题中的所有问题,希望能通过总结与反思使自己能稍稍有所提高。 题目:将一个字符串中的每个空格替换成“%20”.例如:we are happy.-----> we%20are%20happy. 阶段一:基础知识回顾 因为真的好久没有编代码了,所以想自己动手把涉及到的基础知识补回来,而不是看一眼别人的代码知道这里就是这个样子。 1、字符串长度: ...

qq_36079638的博客 360

[剑指offer]面试题第[2]题[JAVA][替换空格][函数][字符串]

【问题描述】 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 【解答思路】 找到空格 替换空格 2.1 新建字符串,找到空格就替换,非空格添加原字符 2.2 在原来的基础上移动位置,从后往前 public class Solution { public String replac...

dadongwudi的博客 131

(C++)剑指offer-2:替换空格(字符串)

剑指offer-2:替换空格 方法1 上述需要向后扩充容量重新整理内存的,最好能够考虑到从尾部开始整理 class Solution { public: void replaceSpace(char *str,int length) { int count = 0; for(int i = 0; i < length; i++){ ...

qq_35264256的博客 163

剑指offer2:字符串替换空格

 字符串替换空格:请实现一个函数,把字符数组中的每个空格替换成“%20”。 例如输入“we are happy.”,则输出“we%20are%20happy.”。 #define _CRT_SECURE_NO_WARNINGS 1 #include #include void replace_blank(char *str) { int blank=0; ch

每天学习一点点,成长一小步 555

【剑指offer字符串】JZ2 替换空格

题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 实现 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ string repla

不分解的单应矩阵 413

剑指offer系列之2:字符串空格的替换

题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:我们可以先遍历一遍字符串,这样就能统计出字符串中空格的总数,并可以由此计算出替换后的字符串的总长度。重新生成一个替换后字符串长度的char数组,分别从旧字符串和新字符串的尾部开始循环,依次往前比较,只要遇到了空格就替换为%20。如果

ly_main的博客 367

力扣记录:字符串2——剑指Offer05 替换空格,151 翻转字符串里的单词,剑指Offer58II 左旋转字符串

力扣记录:字符串2——剑指Offer05 替换空格,151 翻转字符串里的单词,剑指Offer58II 左旋转字符串

Kiwi_fruit的博客 357
上一篇: 剑指offer(1) 二维数组查找
下一篇: 剑指offer(3) 链表逆序输出
TestMin
博客等级 码龄11年 0粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值