描述

旋转字符串

给定一个字符串(以字符数组的形式给出)和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转)。
挑战
在数组上原地旋转,使用O(1)的额外空间

说明
原地旋转意味着你要在s本身进行修改。你不需要返回任何东西。

注意事项
offset >= 0
the length of str >= 0
Make changes on the original input data

样例

样例 1:

输入: str="abcdefg", offset = 3
输出: str = "efgabcd"
样例解释: 注意是原地旋转,即str旋转后为"efgabcd"
样例 2:

输入: str="abcdefg", offset = 0
输出: str = "abcdefg"
样例解释: 注意是原地旋转,即str旋转后为"abcdefg"
样例 3:

输入: str="abcdefg", offset = 1
输出: str = "gabcdef"
样例解释: 注意是原地旋转,即str旋转后为"gabcdef"
样例 4:

输入: str="abcdefg", offset =2
输出: str = "fgabcde"
样例解释: 注意是原地旋转,即str旋转后为"fgabcde"
样例 5:

输入: str="abcdefg", offset = 10
输出: str = "efgabcd"
样例解释: 注意是原地旋转,即str旋转后为"efgabcd"

代码

public class Solution {/*** @param str: An array of char* @param offset: An integer* @return: nothing*/public void rotateString(char[] str, int offset) {if (str.length == 0){return;} String t = "";for(int n = 0;n<str.length;n++){t+=str[n];}offset = offset%t.length();for(int i = 1;i<=offset;i++){t = t.charAt(t.length()-1)+t;t = t.substring(0,t.length()-1);}for(int n = 0;n<str.length;n++){str[n] = t.charAt(n);}}}

Java-旋转字符串相关推荐

  1. [剑指offer]面试题第[58-2]题[JAVA][左旋转字符串][拼接]

    [问题描述][中等] [解答思路] 1. 字符串切片 应用字符串切片函数,可方便实现左旋转字符串. 时间复杂度:O(N) 空间复杂度:O(N) public String reverseLeftWor ...

  2. java循环左一_左旋转字符串(Java)-循环Index方式

    左旋转字符串(Java)-循环Index方式 题目要求 ​ 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循 ...

  3. java 字符串旋转_Java之左旋转字符串

    如果你对Java的字符串还不是很了解,那可以先看看这篇Java之左旋转字符串,希望本文所提供知识点可以帮助到你,下面随爱站技术小编来一起看看吧. 题目:定义字符串的左旋转操作:把字符串前面的若干个字符 ...

  4. 判断一个字符串是另外字符串的旋转字符串

    题目 假设你有一个isSubstring函数,可以检测一个字符串是否是另一个字符串的子串. 给出字符串s1和s2,只使用一次isSubstring就能判断s2是否是s1的旋转字符串, 请写出代码.旋转 ...

  5. 剑指 Offer 58 - II. 左旋转字符串

    算法-目录 剑指 Offer 58 - II. 左旋转字符串 方法一:字符串切片[K] 新建两切片字符串,并将两切片拼接为结果字符串,无冗余操作,效率最高. class Solution(object ...

  6. [牛客算法总结]:旋转字符串

    标签: 字符串 题目: 字符串旋转: 给定两字符串A和B,如果能将A从中间某个位置分割为左右两部分字符串(可以为空串),并将左边的字符串移动到右边字符串后面组成新的字符串可以变为字符串B时返回true ...

  7. 算法(Java)——字符串String

    算法设计中,对字符串的操作不可谓不常见,切片,旋转,复制,连接等等,因此对字符串的一些基础知识可以适当的了解掌握. 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串 ...

  8. 代码随想录算法训练营第08天 | LeetCode 344.反转字符串,541. 反转字符串2,剑指Offer 05.替换空格,151.翻转字符串里的单词,剑指Offer58-II.左旋转字符串

    LeetCode [344. 反转字符串] 题目:编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须**原地修改输入数组**. ...

  9. 剑指 Offer 笔记: T58 - II. 左旋转字符串

    T58 - II. 左旋转字符串 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能.比如,输入字符串"abcdefg"和数字 ...

  10. LeetCode 03: T58. 最后一个单词的长度(简单); 剑指 Offer 05. 替换空格(简单); 剑指 Offer 58 - II. 左旋转字符串(简单)

    文章目录 T7: 58. 最后一个单词的长度(简单) 思路 解法: 双指针 T8: 剑指 Offer 05. 替换空格(简单) 思路 解法: replace T9: 剑指 Offer 58 - II. ...

最新文章

  1. java 日期 区间_如何实现时间区间的分割??
  2. 渲染服务器位置,如何用服务器做渲染
  3. c语言中用文件处理数据,C语言文件处理 -C语言从文件中读写格式化数据
  4. 简化的插入排序 (15 分)
  5. mybatis工作笔记003---Mybatis批量删除deleteByIds的用法
  6. chrome颜色拾取器
  7. 从源程序到可执行文件的四个过程
  8. macbook从硬盘复制文件显示“不能更改xx中的一个或多个项目,因为它们正在使用中”
  9. 索尼koov机器人比赛_搭上“想象”去成长 索尼KOOV可编程教育机器人评测
  10. 2023计算机毕业设计SSM最新选题之java养生知识平台99ofs
  11. python对excel筛选提取文本中数字_Python,从Excel列中提取数字并作为outpu写入
  12. 阿里达摩院最新FEDformer,长程时序预测全面超越SOTA | ICML 2022
  13. 疫情对2020春招有什么影响?
  14. 如何通过检测微芯片操作来对抗硬件木马
  15. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘xxx‘ 中的标识列插入显式值。 java解决方案
  16. 字长16位的计算机 它表示是,计算机应用基础(第2版)在线作业
  17. python槽怎么用_PyQt4信号与槽详解
  18. ESP32开发 micropython常见问题记录
  19. 离线版百度地图瓦片下载html版
  20. 备忘录删除的东西还能找回来吗?怎么找回?

热门文章

  1. Xshell出现要继续使用此程序必须应用到最新的更新或使用新版本
  2. git常用命令(史上最经典)
  3. 为springboot项目添加springboot-admin监控
  4. 从安装、管理到防御,阿里云安骑士全向测评
  5. Linux内存管理学习资料
  6. F9-sersync推送数据rsync拉取数据
  7. 在Linux环境下安装和配置phpmyadmin
  8. verilog实现多周期处理器之——(零)GUN工具链的安装
  9. (转)最临近插值-双线性插值算法原理
  10. [Silverlight]实战WCF RIA gzip压缩