2反转字符
技术:整体反转+局部反转就可以实现
class Solution { public String reverseLeftWords(String s, int n) { int len = s.length(); StringBuilder sb = new StringBuilder(s); reverseString(0,n-1,sb); reverseString(n,len-1,sb); return sb.reverse().toString(); } //反转的方法 public void reverseString(int start,int end,StringBuilder sb){ while(start<end){ //不用考虑奇偶个数 //交换 char temp = sb.charAt(start); sb.setCharAt(start,sb.charAt(end)); sb.setCharAt(end,temp); start++; end--; } } }
思路分析:
- 前部分反转
- 后部分反转
- 整体再反转
具体解决:java
- 使用一个StringBuilder缓存字符串s;
- 三次反转
- 方法里:使用StringBuilder的方法setCharAt(index,ch),进行反转字符。
//源码 public void setCharAt(int index, char ch) { value[index] = ch; }
比任何人都要努力
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)