当前位置: 首页 > news >正文

代码随想录刷题Day22

替换数字

这道题比较简单,遇到字母就copy到新的字符数组,如果是遇到数字,就在新字符数组中加入number的字符串。代码如下:

#include<stdio.h>
#include<ctype.h>
#include<string.h>
#define Max 1000000
int main(){char res[6*Max];char s[Max];scanf("%s",s);int k = 0;for(int i = 0;i<strlen(s);i++){if(islower(s[i])){  //如果是小写字母,直接copy过去res[k++] = s[i];}else if(isdigit(s[i])){ //如果是数字的话,把数字设置为number字符串res[k++] = 'n';res[k++] = 'u';res[k++] = 'm';res[k++] = 'b';res[k++] = 'e';res[k++] = 'r';}}printf("%s",res);return 0;
}

我这个做法是常规的,申请一个新数组来存放替换后的结果。但如果想要原地修改的话,这时候对数字的修改就得从后往前进行。

反转字符串中的单词

这道题的重点,我觉得是如何以空格为划分界线,把单词这样一个区域划分出来。大致思路参照代码的注释,以及对于代码的划分思路参照下图:

代码如下:

class Solution {
public:string reverseWords(string s) {char res[10000];int pr = 0; //用于记录res数组的遍历int end = s.size()-1;int begin = s.size()-1; //用于记录每个单词的起始位置和结束位置bool finding = false;      //用于作为现在是否处于锁定单词区域的一个信号标志for(int p = s.size()-1;p>=0;p--){if(s[p]==' ' && finding){  //在finding为true的情况下,遇到空格说明单词划分结束,可以锁定单词的范围begin-endbegin = p+1;for(int i = begin;i<=end;i++){res[pr++]=s[i];}res[pr++]=' ';finding = false;}if(s[p]!=' '&&finding ==false){ //空格结束,遇到非空字符,表示单词划分开始finding = true;end = p;}if(p==0&&finding == true){  //如果p已经遍历到0,但是单词划分还没有主动结束,则强行结束begin = 0;for(int i = begin;i<=end;i++){res[pr++]=s[i];}res[pr++]=' ';}}res[--pr]=NULL; //统一去除字符串尾部的多余空格return string(res);}
};

更省事的方法是使用string.h中的关于字符串处理的split函数,直接以空格作为分隔符返回划分后的第一个首字母,这样迭代提取单词,然后把单词倒序排列。

这道题目在代码随想录中推荐使用的是,原地单词逆转,这里暂时先不看了😜

http://www.dtcms.com/a/310350.html

相关文章:

  • 如何利用API接口与网页爬虫协同进行电商平台商品数据采集?
  • Java应用服务器选型指南:WebLogic vs. Tomcat、WebSphere、JBoss/Wildfly
  • 今日行情明日机会——20250801
  • Linux系统磁盘未分配的空间释放并分配给 / 根目录的详细操作【openEuler系统】
  • 电脑的时间同步电池坏掉了,每次开机都要调整时间
  • 【RocketMQ】鉴权机制
  • 网络协议之路由是怎么回事?
  • 电商项目_性能优化_数据同步
  • 18.若依框架中的xss过滤器
  • Java 24 新特性解析与代码示例
  • 牛客——取数游戏2
  • UE5 动态扫描波
  • 【C#学习Day15笔记】拆箱装箱、 Equals与== 、文件读取IO
  • iPhone查看App日志和系统崩溃日志的完整实用指南
  • 深入理解C语言指针:从回调函数到数组指针笔试题全解析(下)
  • 遥控器信号捕获
  • [CISCN 2022 初赛]online_crt
  • 基于react的YAPI实战指南
  • JavaWeb--Student2025项目:增删改查
  • 光纤网络FTTx(光接入网的应用类型)
  • 标准项目-----网页五子棋(4)-----游戏大厅+匹配+房间代码
  • Qt Quick 性能优化方法
  • WPF TreeView自带自定义滚动条
  • 云计算k8s集群部署配置问题总结
  • 铁皮矫平机冷知识·第三弹
  • 网站QPS多少才算高并发
  • A∗算法(A-star algorithm)一种在路径规划和图搜索中广泛使用的启发式搜索算法
  • 利用CompletableFuture优化查询效率
  • 1.2.4 砌体结构设计构造要求
  • Dify知识库分段策略详解:通用分段 vs 父子分段