左右旋转箭头图片(每日算法之左旋转字符串)
导读:JZ58 左旋转字符串 题目...
JZ58 左旋转字符串
题目
汇编语言中有一种移位指令叫做循环左移(ROL) ,现在有个简单的任务 ,就是用字符串模拟这个指令的运算结果 。
对于一个给定的字符序列 S ,请你把其循环左移 K 位后的序列输出 。
例如 ,字符序列 S = ”abcXYZdef ” , 要求输出循环左移 3 位后的结果 ,即 “XYZdefabc ”
思路
算法实现
先判断字符串是否不会空 ,然后对参数n进行取余 ,截取前后两节字符串 ,拼接即可
代码
package mid.JZ58左旋转字符串; public class Solution { /** * @param str * @param n * @return * * 运行时间 19ms * 占用内存 9976KB */ public String LeftRotateString(String str,int n) { if(str.length() == 0 || str.isEmpty()) return ""; StringBuilder sb = new StringBuilder(); sb.append(str.substring((n % str.length()))); sb.append(str.substring(0, (n % str.length()))); return sb.toString(); } public static void main(String[] args) { String s = new Solution().LeftRotateString("aab", 10); System.out.println(s); } }创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!