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

[豪の算法奇妙冒险] 代码随想录算法训练营第八天 | 344-反转字符串、541-反转字符串II、Carl54-替换数字

代码随想录算法训练营第八天 | 344-反转字符串、541-反转字符串II、Carl54-替换数字


LeetCode344 反转字符串

题目链接:https://leetcode.cn/problems/reverse-string/description/

文章讲解:https://programmercarl.com/0344.反转字符串.html

视频讲解:https://www.bilibili.com/video/BV1fV4y17748/?vd_source=b989f2b109eb3b17e8178154a7de7a51

​ 挺简单的,使用双指针的思路,一头一尾相互交换元素即可完成字符串的倒置

image-20251126173716637

class Solution {public void reverseString(char[] s) {int left = 0;int right = s.length - 1;while(left < right){char temp = s[left];s[left] = s[right];s[right] = temp;left++;right--;}}
}

LeetCode541 反转字符串II

题目链接:https://leetcode.cn/problems/reverse-string-ii/description/

文章讲解:https://programmercarl.com/0541.反转字符串II.html

视频讲解:https://www.bilibili.com/video/BV1dT411j7NN/?vd_source=b989f2b109eb3b17e8178154a7de7a51

​ 这题需要注意for循环遍历字符串时不是i++,而是i+=2*k

​ 在一轮翻转中,首先先求第一个k的位置,如果 start+k > length,说明余下的不足k个,firstK = length,即将余下的全部进行翻转;如果 start+k <= length,则firstK = start+k,把start到firstK的这些字符进行翻转

​ 然后求2k的位置,如果 start + 2*k > length,说明余下的不足2k个,secondK = length;如果 start + 2*k <= length,则secondK = start + 2*k。后续再进行判断,若firstK < secondK,则把firstK和secondK之间的所有字符加入result,这包含了“正常把k~2k之间的字符放入result”和“剩下的字符够k个但不够2k个,把k个翻转后,剩下的正常放入result”两种情况

image-20251126190503647

class Solution {public String reverseStr(String s, int k) {int length = s.length();StringBuilder result = new StringBuilder(length);for(int start = 0; start < length; start += 2*k){StringBuilder temp = new StringBuilder();int firstK = 0;if(start + k > length){firstK = length;}else{firstK = start + k;}temp.append(s.substring(start, firstK));result.append(temp.reverse());int secondK = 0;if(start + 2*k > length){secondK = length;}else{secondK = start + 2*k;}if(firstK < secondK){result.append(s.substring(firstK, secondK));}}return result.toString();}
}

卡码网54 替换数字

题目链接:https://kamacoder.com/problempage.php?pid=1064

文章讲解:https://programmercarl.com/kamacoder/0054.替换数字.html

​ 第一次解,使用的是StringBuilder

image-20251126193235045

​ 后面了解到后序处理的思想,就再用后序处理的方法重新做了一遍

image-20251126194852706

http://www.jsqmd.com/news/51943/

相关文章:

  • 【Webpack连载一】入门简介。了解为什么需要Webpack,解决哪些开发中通病 - 实践
  • 31(11.5)
  • 26 10.29
  • 深入解析:GitLab 钩子 + Jenkins 自动化构建项目
  • 27.10.30
  • 抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15
  • 深度学习50问
  • 借助gdb推进修改oracle scn
  • 2025年11月红外防潮系统,碳红外防潮取暖系统,别墅红外防潮系统厂家推荐:实力防潮品牌解析,采购无忧之选!
  • 2025年11月天津防潮公司,北京别墅地下室防潮公司,上海防潮公司权威推荐,防潮技术与市场口碑深度解析
  • 50048_基于微信小程序的人事管理系统
  • 树状数组 线段树 笔记
  • 二分答案 序列划分
  • Ai元人文:谦卑的舞台搭建者——岐金兰与她的未完成之歌
  • 2025年下半年UVLED面光源、UVLED线光源、UV固化箱、UV解胶机、UV固化炉厂家Top 5推荐指南:选购必看榜单
  • 2025年江苏宣传片、网站建设、AI GEO、外贸站、小程序商城公司综合评测与精选服务商推荐
  • 数据破界,价值共生:东软锚定AI时代民生新答卷
  • Ansible生产调优与故障排查全攻略 - 实践
  • 2025年下半年UVLED面光源、UVLED线光源、UV固化箱、UV解胶机、UV固化炉厂家综合评测与选购指南
  • 简单 DP 模型
  • 大模型(LLM)基本原理
  • 2025年江苏徐州板式家具、模压托盘、桥洞力学板、三聚氰胺饰面板品牌公司综合推荐指南:五大优质厂商深度解析
  • 实训(补)
  • 马克思主义课程
  • Check Point R82 Gaia - 面向安全应用的下一代操作系统
  • 2025年下半年江苏网架、钢结构、光伏支架钢管、托辊钢管、汽车传动轴钢管厂家推荐指南:专业选择与权威解析
  • 2025年11月压力容器、化工设备、锅炉、换热器、反应釜厂家怎么选:前五推荐指南
  • 2025年下半年候车亭、公交站台、电子站牌、公交站牌、公交候车厅选购指南:十大优质供应商推荐
  • 2025年下半年江苏徐州冷弯成型前冲孔生产线、C型钢自动抱焊机、钢结构码垛机、H钢冲孔液压设备、光伏支架冲孔机厂家选购指南与市场解析
  • 2025年下半年冷弯成型前冲孔生产线、C型钢自动抱焊机、钢结构码垛机、H钢冲孔液压设备、光伏支架冲孔机优质供应商推荐指南