尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

[豪の算法奇妙冒险] 代码随想录算法训练营第八天 | 344-反转字符串、541-反转字符串II、Carl54-替换数字
📅 发布时间:2026/6/24 12:47:34
LeetCode344 反转字符串、LeetCode541 反转字符串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

相关新闻

  • 31(11.5)
  • 深入解析:GitLab 钩子 + Jenkins 自动化构建项目
  • 27.10.30

最新新闻

  • 线上Java服务凌晨3点告警,我靠这张排查流程图5分钟解决了故障
  • 国内热门的AI智能体小程序哪家可靠
  • Java + MySQL + Navicat Lite打印输出数据库的表信息到控制台
  • 无人机三模态视觉融合:RGB、热成像与事件相机的全天候感知方案
  • 2026年6月适合个体户的5大微信小程序制作工具
  • 企业低价使用 GPT5.5 API 解决方案

日新闻

  • 终极指南:如何用shadPS4在电脑上免费畅玩PS4游戏
  • 打造个性化Instagram Clone:主题定制与用户体验优化技巧
  • 未来展望:RoseTTAFold-All-Atom的发展路线图与社区支持资源汇总

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号