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

【代码随想录算法训练营——Day8】字符串——344.反转字符串、541.反转字符串II、卡码网:54.替换数字

LeetCode题目链接
https://leetcode.cn/problems/reverse-string/description/
https://leetcode.cn/problems/reverse-string-ii/description/
https://kamacoder.com/problempage.php?pid=1064

题解
344.反转字符串
受到了之前写的代码的启发(只因为意外的瞄了一眼),升华一下,用了双指针的方法写出来。之后再看看题解学一下有没有别的思路。

541.反转字符串II
本来觉得自己能写出来,但是突然不会了。想了一个繁琐的思路出来,还被AI提示了一句reverse库函数,其中的right的i - k - 1值,是debug调出来的。主要是判断结尾剩余字符串的大小赋值,以及要想到双指针确定边界的思路。

卡码网:54.替换数字
这题有两个思路,一是我第一次写的,调用插入库函数在原字符串进行插入“number”和删除数字,第二个是我本次写的,用字符串连接组成一个新字符串。

代码

//344.反转字符串
#include <iostream>
#include <vector>
using namespace std;class Solution {
public:void reverseString(vector<char>& s) {int left = 0, right = s.size() - 1;while (left <= right) {char tmp = s[left];s[left] = s[right];s[right] = tmp;left++;right--;}}
};int main() {vector<char> str = { 'h', 'e', 'l', 'l', 'o' };for (int i = 0;i < str.size();i++) {printf("%c", str[i]);}printf("\n");Solution s;s.reverseString(str);for (int i = 0;i < str.size();i++) {printf("%c", str[i]);}return 0;
}
//541.反转字符串II
#include <iostream>
#include <string>
using namespace std;class Solution {
public:string reverseStr(string s, int k) {int i = 0;while (1) {i += 2 * k;if (i <= s.size()) {int left = i - 2 * k, right = i - k - 1;reverse(s.begin() + left, s.begin() + right + 1);}else{int left = i - 2 * k;int right;if (s.size() - left < k) right = s.size() - 1;else right = i - k - 1;reverse(s.begin() + left, s.begin() + right + 1);break;}}return s;}
};int main() {string str = "abcd";int k = 2;Solution s;string result = s.reverseStr(str, k);cout << result << endl;return 0;
}
//卡码网:54.替换数字
#include <iostream>
#include <string>
using namespace std;string insertNumber(string s) {string result;for (int i = 0;i < s.size();i++) {if (s[i] >= 'a' && s[i] <= 'z') {result += s[i];}else {result += "number";}}return result;
}int main() {string str;cin >> str;string result = insertNumber(str);cout << result << endl;return 0;
}

文章转载自:

http://6bnjIo0N.kmqms.cn
http://LsPtxGe6.kmqms.cn
http://ilo14Wye.kmqms.cn
http://0VysvaYN.kmqms.cn
http://QUOI64gB.kmqms.cn
http://BBfsZzuy.kmqms.cn
http://DNuclH2Y.kmqms.cn
http://6MsreYcR.kmqms.cn
http://sVr2w6SE.kmqms.cn
http://Cj5CMugo.kmqms.cn
http://jPO2SVrA.kmqms.cn
http://NRFN6hM7.kmqms.cn
http://3KbygJZr.kmqms.cn
http://QkJ0oYOB.kmqms.cn
http://qQG29XBD.kmqms.cn
http://ayCLwGLe.kmqms.cn
http://rM2XatU3.kmqms.cn
http://7uzYVBKj.kmqms.cn
http://41TLu61r.kmqms.cn
http://wVRWUFIq.kmqms.cn
http://JSVL3bpB.kmqms.cn
http://KQxPfkXy.kmqms.cn
http://10hykPxU.kmqms.cn
http://0Jof7BQi.kmqms.cn
http://MKVh6ni4.kmqms.cn
http://WkkfYawz.kmqms.cn
http://2n9AktmN.kmqms.cn
http://2o3ro2bv.kmqms.cn
http://aHXdLnNm.kmqms.cn
http://gKLIoUxA.kmqms.cn
http://www.dtcms.com/a/376835.html

相关文章:

  • 软件项目验收中第三方检测服务总流程
  • Python采集1688拍立淘按图搜索,json数据返回
  • 【卷积神经网络详解与实例】4——感受野
  • 多模态学习双核引擎:对齐建立连接,融合释放价值
  • unity开发类似个人网站空间
  • 【不背八股】10.Redis知识点汇总
  • MySQL 整型数据类型:选对数字类型,让存储效率翻倍
  • OpenCV的图像金字塔
  • PMP考试学习计划与知识大纲
  • 自然语言处理开源框架全面分析
  • antd v5 support React is 16 ~ 18. see https://u.ant.design/v5-for-19 for...
  • 【硬件-笔试面试题-82】硬件/电子工程师,笔试面试题(知识点:讲讲单片机的内部晶振与外部晶振)
  • 【计算机网络 | 第12篇】网络应用原理
  • 【竞赛系列】机器学习实操项目05——客户信用评估模型进阶流程(含XGBoost、LightGBM、CatBoost 高级模型对比与参数优化)
  • 机器学习的本质:从跑模型到真正解决问题
  • LeakCanary最新稳定版
  • 个人博客系统-测试报告
  • 生活中的各种造型 参考多图
  • 独家 | 抖音生活服务调整:涂晴接管市场和达人运营,旭凯担任北部大区负责人
  • Spring Bean扫描
  • 第2讲 机器学习 - 导论
  • 【开题答辩全过程】以 基于Android的智慧旅游APP开发为例,包含答辩的问题和答案
  • Linux服务器的系统安全强化超详细教程
  • Dockerfile构建容器需要注意的事项。
  • YOLO 发展前景与创新点
  • 一个基于 .NET 开源、轻便的 Windows 优化工具,适用于 Win7 - Win11 最新版的优化!
  • RL【7-1】:Temporal-difference Learning
  • child_process 和 cluster的区别
  • 第十七篇|优尼塔斯东京校区的教育数据工程:学费函数、国籍网络与升学有向图
  • ES6 面试题及详细答案 80题 (33-40)-- Symbol与集合数据结构