【牛客刷题专栏】0x0D:JZ5 替换空格(C语言编程题)

news2025/1/18 9:05:49

前言

  • 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失
  • 个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer:
    在这里插入图片描述

目录

  • 前言
  • 问题描述:
  • 举例:
  • 解法思路:
  • 代码结果:
  • 结束语


问题描述:

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

  • 数据范围:0 ≤ len(s) ≤ 1000

  • 保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。


举例:

//示例1:
//输入:
"We Are Happy"
//返回值:
"We%20Are%20Happy"
//==========================
//示例2:
//输入:
" "
//返回值:
"%20"

解法思路:

  • 第一趟遍历先数出总共有多少个空格,然后就可以知道新字符串是多长,因为每个空格会换成3个字符。
    然后再次遍历,遇到空格就改成‘%’,‘2’,‘0’三个字符。

代码结果:

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return string字符串
 */
char* replaceSpace(char* s ) {
    int i = 0, j = 0;
    int cnt = 0, n = strlen(s);
    for(i = 0; i < n; i++){
        if(s[i] == ' ')
            cnt++;  //求空格个数
    }
    char* ret = NULL;  //新数组头指针
    ret = (char*)malloc(sizeof(int) * ( n+ cnt*3 +1)); //定义新数组大小
    for(i = 0, j = 0; i < n; i++,j++){
        if(s[i] != ' ')
            ret[j] = s[i];  //不是空格就直接复制
        else if(s[i] == ' '){
            ret[j] = '%';   //遇到空格要逐一赋值
            ret[j+1] = '2';
            ret[j+2] = '0';
            j= j + 2;  //要与i保持同步
        }
    }
    return ret;
}


结束语

  • 以上就是该C语言编程题的内容。可以在牛客尝试刷几道题目来练习实践。牛客网刷题(点击可以跳转),可以尝试注册使用。
  • 题目来自:牛客/题库 / 在线编程 / 剑指offer:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/378615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ICV光子盒:2023全球量子通信与安全产业发展展望

近日&#xff0c;全球著名的前沿科技咨询机构ICV与国内专注量子领域的行业研究机构光子盒&#xff0c;联合发布了2023全球量子通信与安全产业发展展望。报告主要从技术进展、产业生态、公司分析、网络建设、投资概况、政策发布、产业预测、展望观点的几方面对2023全球量子通信与…

【Java】Java进阶学习笔记(三)—— 面向对象(多态)

【Java】Java进阶学习笔记&#xff08;三&#xff09;—— 面向对象&#xff08;多态&#xff09;一、多态的概念1、多态的优点2、多态存在的三个必要条件3、多态中的成员特点4、重写方法的快捷键二、多态的转型1、向上转型2、向下转型3、代码示例4、转型的异常类型转换异常ins…

无线蓝牙耳机哪个品牌延迟低?玩游戏延迟低的蓝牙耳机推荐

无线蓝牙耳机因为摆脱了线的束缚&#xff0c;在使用上会更便捷&#xff0c;不少人喜欢戴蓝牙耳机玩游戏&#xff0c;但又怕蓝牙耳机有延迟。正因为蓝牙耳机摆脱了线的束缚&#xff0c;在信号传输的过程中难免产生延迟。那么&#xff0c;无线蓝牙耳机哪个品牌延迟低&#xff1f;…

【Linux】程序员的易筋经——冯诺依曼体系结构

文章目录&#x1f449;冯诺伊曼体系结构&#x1f448;概念内存的重要性&#x1f449;操作系统&#xff08;Operating System&#xff09;&#x1f448;概念目的定位特征发展和分类运行机制体系结构&#x1f449;冯诺伊曼体系结构&#x1f448; 概念 下图是描述冯诺依曼体系结…

6天重建一遍中国台湾省,三维模型还可以这样做!

说起三维模型&#xff0c;大家脑海中显现的大多是一个可通过电子屏幕进行全方位展示的立体物体。一般来说&#xff0c;所显示的物体既可以是现实世界的实体&#xff0c;也可以是通过想象所创作的虚构物体。 而实景三维正是镜像作用于现实世界真实化表达的新兴技术&#xff0c;是…

Java中的过滤器和拦截器

Java中的过滤器和拦截器 一.应用场景 拦截器应用场景 拦截器本质上是面向切面编程&#xff08;AOP&#xff09;&#xff0c;符合横切关注点的功能都可以放在拦截器中来实现&#xff0c;主要的应用场景包括&#xff1a; 登录验证&#xff0c;判断用户是否登录。权限验证&…

JSP的分页

分页在读取数据库里的数据需要用&#xff0c;在以后数据库肯定还会有很多数据&#xff0c;一个页面装不下&#xff0c;所以需要分页功能。数据库查询的分页语句是“SELECT * FROM emp LIMIT 0, 5;”这里0是指起始行&#xff0c;5是查询5行&#xff0c;第二页起始行就是5&#x…

QT 实现右键菜单

有时我们希望在窗口中右键弹出菜单&#xff0c;这里来介绍一下QT中怎么实现. .h 中添加事件相应函数声明和变量定义&#xff1a; private:// 菜单事件void contextMenuEvent(QContextMenuEvent* event) override;void initMenu();private:QMenu* m_pMenu nullptr;在构造函数中…

聊聊如何避免多个jar通过maven打包成一个jar,多个同名配置文件发生覆盖问题

前言 不知道大家在开发的过程中&#xff0c;有没有遇到这种场景&#xff0c;外部的项目想访问内部nexus私仓的jar&#xff0c;因为私仓不对外开放&#xff0c;导致外部的项目没法下载到私仓的jar&#xff0c;导致项目因缺少jar而无法运行。 通常遇到这种场景&#xff0c;常用…

HUN工训中心:开关电路和按键信号抖动

工训中心的牛马实验 1.实验目的&#xff1a; 1) 认识开关电路&#xff0c;掌握按键状态判别、开关电路中逻辑电平测量、逻辑值和逻辑函数电路。 2) 掌握按键信号抖动简单处理方法。 3) 实现按键计数电路。 2.实验资源&#xff1a; HBE硬件基础电路实验箱、示波器、万用表…

Java学习--网络编程

1. 网络编程入门 1.1 网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络操作系统&#xff0c;网络管理软件及网络通信协议的管理和协调下&#xff0c;实现资源共享和信息传递的计算机系统…

【GIT】git不同仓库设置不同用户名和邮箱

随着业务的拓展&#xff0c;工作中&#xff0c;我们除了要在公司的git库提交代码&#xff0c;还可能在阿里云效codeup、gitcode等上提交代码。 之前git安装时使用的是全局名称&#xff0c;导致所有的git提交都使用了相同的用户名和邮箱。 查看全局用户名和邮箱 $ git config -…

论文调研——23.2.28

文章目录Diffusion Models: A Comprehensive Survey of Methods and ApplicationsADVERSARIAL TRAINING METHODS FOR SEMI-SUPERVISED TEXT CLASSIFICATIONHuman Emotion Knowledge Representation Emerges in LargeAPI 调优上&#xff1a; Decoder Tuning: Efficient Language…

记录一下atlas200模块无法正常通过别的设备SSH连接192.168.1.2问题笔记粗心者用

atlas200远程登录发现登录不了 串口打印内核信息正常显示&#xff0c;如下几个错误记录分别在windows上和ubuntu上分别做了测试&#xff0c;之前都是 安装完 kex_exchange_identification: read: Connection reset 华为atlas200模块 登录显示这个目前没有解决&#xff0c;应该…

220V转5V非隔离2W电源--超低成本

目录 详情 产品特性和优势 设计电路 MP150芯片资料 详情 MP150 是一款原边调节器&#xff0c;可以在无光耦合器的条件下提供精确的恒压&#xff08;CV&#xff09;调节。MP150 支持降压、升降压、升压和反激拓扑。它内部集成了 500V MOSFET&#xff0c;可简化结构&#xff0…

HUN工训中心:三位数码管扫描显示实验报告

工训中心牛马实验 1.1操作说明及现象描述 根据老师发的安装包下载和安装好Quartus II软件。在电脑安装USB硬件驱动&#xff0c;再与PC接口连接好&#xff0c;可以打开任务管理器查看是否安装好。之后打开Quartus II软件&#xff0c;按照菜单Tool->programmer->add file…

6大类,不同类型单板布线策略

PCB布线策略 一、类型一主要特征如下 严格的长度规则、严格的串扰规则、拓扑规则、差分规则、电源地规则等。 二、关键网络的处理&#xff1a;总线定义Class 要求满足一定的拓扑结构、stub及其长度(时域)约束条件 图-1 平衡菊花链和中间驱动菊花链图 设置虚拟管脚来控制拓扑…

张驰咨询:六西格玛常见问题解答

以下是张驰咨询对一些关于六西格玛常见问题的解答&#xff1a; 1、六西格玛是什么&#xff1f; 六西格玛是一种改善企业质量流程管理的技术&#xff0c;以“零缺陷”的完美商业追求&#xff0c;带动质量大幅提高、成本大幅度降低&#xff0c;最终实现企业财务成效的提升与企业…

SpringCloud系列知识快速复习 -- part 1(SpringCloud基础知识,Docker,RabbitMQ)

SpringCloud知识快速复习SpringCloud基础知识微服务特点SpringCloud常用组件服务拆分和提供者与消费者概念Eureka注册中心原理Ribbon负载均衡原理负载均衡策略饥饿加载Nacos注册中心服务分级存储模型权重配置环境隔离Nacos与Eureka的区别Nacos配置管理拉取配置流程配置热更新配…

大家挤破脑袋都想进的腾讯,你为什么想要辞职?

前几天&#xff0c;我在网上看到一个故事。 故事的主人翁是19届的校招生&#xff0c;目前入职腾讯&#xff0c;工作了一个月。这一个月给他的感受是大量的写测试用例&#xff0c;感觉自己写测试用例的能力熟练了不少&#xff0c;测试技能倒是没有多大的提高&#xff0c;真正需…