代码随想录算法训练营第七天 | Leetcode 344.反转字符串 | 541.反转字符串II | 卡码网:54.替换数字
2026/4/14 22:37:25 网站建设 项目流程

day7 – 字符串part01

344.反转字符串

  • 力扣题目链接:344. 反转字符串 - 力扣(LeetCode)
  • 文章讲解:344.反转字符串 | 双指针 | 原地修改 | 代码随想录
  • 视频讲解:字符串基础操作! | LeetCode:344.反转字符串_哔哩哔哩_bilibili

简单的双指针问题

publicclassSolution{publicvoidReverseString(char[]s){intleft=0;intright=s.Length-1;chartmp;while(left<right){tmp=s[left];s[left++]=s[right];s[right--]=tmp;}}}

541.反转字符串II

  • 力扣题目链接:541. 反转字符串 II - 力扣(LeetCode)
  • 文章讲解:541. 反转字符串II | 字符串反转 | 分段处理 | 代码随想录
  • 视频讲解:字符串操作进阶! | LeetCode:541. 反转字符串II_哔哩哔哩_bilibili

还是用双指针解决

publicclassSolution{publicstringReverseStr(strings,intk){intl=s.Length;intcount=l/(2*k);intleftrecord=0;intleft=leftrecord;intrightrecord=2*k-1;intright=k-1;char[]ans=s.ToCharArray();while(count--!=0){while(left<right){chartmp;tmp=ans[left];ans[left++]=ans[right];ans[right--]=tmp;}rightrecord+=2*k;leftrecord+=2*k;left=leftrecord;right=rightrecord-k;}if(l%(2*k)>=k){while(left<right){chartmp;tmp=ans[left];ans[left++]=ans[right];ans[right--]=tmp;}}else{right=l-1;while(left<right){chartmp;tmp=ans[left];ans[left++]=ans[right];ans[right--]=tmp;}}returnnewstring(ans);}}

卡码网:54.替换数字

  • 题目链接:54. 替换数字(第八期模拟笔试)
  • 文章讲解:替换数字 | 双指针 | 字符串替换 | 数组填充 | 代码随想录

填充或者删除,后序处理线性数据结构,会高效的多

//TODO

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询