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

代码随想录算法训练营第51期第8天 | 344. 反转字符串、541.反转字符串 II、卡码网:54.替换数字

344. 反转字符串

344. 反转字符串icon-default.png?t=O83Ahttps://leetcode.cn/problems/reverse-string/1.这道题很简单,直接使用双指针就可以

2.这里有一个可以优化的点,left++和right-- 可以放在字符串替换的时候完成,没必要单独写

void reverseString(char* s, int sSize) {int left = 0;int right = sSize - 1;while (left <= right) {char tmp = s[left];s[left] = s[right];s[right] = tmp;left++;right--;}
}

541.反转字符串 II

541. 反转字符串 IIicon-default.png?t=O83Ahttps://leetcode.cn/problems/reverse-string-ii/1.两种情况,一种小于k,一种大于k,然后步长都是2k

2.这里优化写法是k = i + k > len ? len - i : k;right = i + k - 1; 但是基于工作后的一个考量,三元运算符会存在codecheck和代码cleancode的风险;

char* reverseStr(char* s, int k) {int sLen = strlen(s);for(int i = 0; i < sLen; i += 2 * k) {  int left = i;int right;if (i + k <= sLen) {right = i + k - 1;} else {right = sLen - 1;}while (left <= right) {char tmp = s[left];s[left++] = s[right];s[right--] = tmp;}}return s;
}

卡码网:54.替换数字

54. 替换数字(第八期模拟笔试)icon-default.png?t=O83Ahttps://kamacoder.com/problempage.php?pid=10641.主要还是掌握学习字符串的一些方法

2.可以使用自己封装的isDigital函数可判断字符是否是数字

#include<stdio.h>
int isDigital(char ch) {return (ch >= '0' && ch <= '9');
}
int main(){char s[10000];scanf("%s",&s);char res[20000];int idx = 0;for (int i = 0; i < strlen(s); i++) {if (isDigital(s[i]) == 0) {res[idx++] = s[i];} else {res[idx++] = 'n';res[idx++] = 'u';res[idx++] = 'm';res[idx++] = 'b';res[idx++] = 'e';res[idx++] = 'r';}}for (int i = 0; i < strlen(res); i++){printf("%c", res[i]);}return 0;
}


http://www.mrgr.cn/news/79092.html

相关文章:

  • 移动光猫怎么自己改桥接模式?
  • VScode+Latex (Recipe terminated with fatal error: spawn xelatex ENOENT)
  • Windows server2019关闭IE增强安全网站内容被阻止
  • RabbitMQ1-消息队列
  • 基于SSM汽车美容管家【提供源码+答辩PPT+文档+项目部署】(高质量源码,可定制,提供文档,免费部署到本地)
  • 【Ubuntu 24.04】虚拟机常见问题解决
  • 【计算机网络】实验11:边界网关协议BGP
  • 计算机毕业设计hadoop+spark民宿推荐系统 民宿数据分析可视化大屏 民宿爬虫 民宿大数据 知识图谱 机器学习 大数据毕业设计
  • Dataset用load_dataset读图片和对应的caption的一个坑
  • Jupyter Notebook认识、安装和启动以及使用
  • 【大数据技术基础】 课程 第1章 大数据技术概述 大数据基础编程、实验和案例教程(第2版)
  • SpringBoot如何使用EasyExcel实现表格导出(简洁快速入门版本)
  • MotorCAD:定子绕组中的趋肤效应和邻近效应损耗
  • linux常用指令 | 适合初学者
  • 力扣第89题 格雷编码
  • 【AI工具】强大的AI编辑器Cursor详细使用教程
  • Spring 容器 详解
  • 【5G】技术组件 Technology Components
  • 电子应用设计方案-38:智能语音系统方案设计
  • 游戏引擎学习第33天
  • 力扣第90题:带重复元素的子集
  • 【ArcGIS微课1000例】0134:ArcGIS Earth实现二维建筑物的三维完美显示
  • 探索 Webpack:前端工程化的核心驱动力与应用场景全解析
  • Android EventBus最全面试题及参考答案
  • Git 详解
  • Cpp面试文章汇总(整理中。。。)