【剑指Offer刷题小记】左旋转字符串(JAVA版)

题目描述:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!

问题分析:一种方法是对字符串进行三次翻转:前K位翻转,后n-K位翻转,然后整个序列再翻转。以题目给定的字符串为例:

另一种方法,把字符串的左旋转看作是左移,将原字符串复制并进行拼接,进行移动后的字符串便是拼接字符串的一段子串:


代码截图:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.二维数组的查找 题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一...
    少年梦游计_3403阅读 1,186评论 0 1
  • 1.二维数组的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从...
    linjiason阅读 746评论 0 0
  • 说明: 本文中出现的所有算法题皆来自牛客网-剑指Offer在线编程题,在此只是作为转载和记录,用于本人学习使用,不...
    秋意思寒阅读 1,170评论 1 1
  • 题目 题目:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果...
    StormZhu阅读 577评论 0 0
  • 总以为爱情就像童话,深深地藏在我们的美梦里,无法言说。却又在每个人的期许与盼望中发现它离我们并不遥远。最羡慕可以在...
    宁西75阅读 656评论 0 0