
10 II. 左旋转字符串
检查n的值:如果n为0,直接返回原字符串。 转换字符串为字符数组:为了方便操作,将字符串转换为字符数组。 创建结果数组:长度与原字符串相同。 复制字符数组: 返回结果字符串:将结果数组转换回字符串并返回。
发布日期:2021-05-10 01:35:00
浏览次数:19
分类:精选文章
本文共 1013 字,大约阅读时间需要 3 分钟。
为了实现字符串的左旋转操作,我们可以将字符串视为一个字符数组。左旋转操作意味着将前面的k个字符移动到字符串的末尾。具体步骤如下:
- 从原字符串的第n个字符开始,到末尾,将这部分字符复制到结果数组的前面。
- 将原字符串的前n个字符复制到结果数组的后面。
以下是实现代码:
public class Solution { public String reverseLeftWords(String s, int n) { char[] chars = s.toCharArray(); int len = chars.length; if (n <= 0) { return s; } char[] res = new char[len]; System.arraycopy(chars, n, res, 0, len - n); System.arraycopy(chars, 0, res, len - n, n); return new String(res); }}
代码解释:
char[] chars = s.toCharArray();
将字符串转换为字符数组。int len = chars.length;
获取字符数组的长度。if (n <= 0) return s;
处理n为0的情况,直接返回原字符串。char[] res = new char[len];
创建一个与原字符串长度相同的结果数组。System.arraycopy(chars, n, res, 0, len - n);
将原字符串的第n个到末尾的字符复制到结果数组的前面。System.arraycopy(chars, 0, res, len - n, n);
将原字符串的前n个字符复制到结果数组的后面。return new String(res);
将结果数组转换回字符串并返回。
这个方法高效且简洁,能够在O(n)时间复杂度内完成操作,适用于大字符串。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年03月30日 17时03分59秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
eclipse自动补全代码(Auto activation只能输3个字符)
2019-03-07
svn commit failed:is scheduled for addition
2019-03-07
P2550 [AHOI2001]彩票摇奖
2019-03-07
初学java:斐波那契数列的java实现
2019-03-07
Java多线程
2019-03-07
Unity监听日记
2019-03-07
Android SD卡
2019-03-07
Android编写电话拨号器
2019-03-07
AndroidStudio跳到错误位置
2019-03-07
ARFoundation系列讲解-41图像重新识别
2019-03-07
unity 四元数和欧拉角相互转换
2019-03-07
ARFoundation系列讲解-03申请苹果开发者账号
2019-03-07
ARFoundation系列讲解-43播放视频
2019-03-07
Unity四中常用路径
2019-03-07
直接点不玩虚的--启明云端千元现金红包、50pcs开发板直播现场拿走不谢
2019-03-07
木马开发的基本理论基础(五)
2019-03-07
windows中如何让chrome信任自签名证书?
2019-03-07
openssl服务器证书操作
2019-03-07
expect 模拟交互 ftp 上传文件到指定目录下
2019-03-07
Matplotlib绘制分组聚合流程图
2019-03-07