Q26、左旋转字符串(字符串)
来源:互联网 发布:智慧树网络课 编辑:程序博客网 时间:2024/06/09 14:00
题目:
定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。
如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。
要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。
解题思路:
a b c d e f 左旋转两位
Step1: 前两位字符逆序,得到:
b a c d e f
Step2: 2~len-1位字符逆序,得到:
b a f e d c
Step 3: 0~len-1位字符逆序,得到:
c d e f a b
Done~
import java.util.Arrays;public class Q26 {public static void main(String[] args) {char[] array = new String("abcdef").toCharArray();roat(array, 2);}public static void roat(char[] array,int size){if(size > array.length){System.out.println("Error!");return;}int i = 0;int j = size - 1;char temp;while(i < j){temp = array[i];array[i] = array[j];array[j] = temp;i++;j--;}i = size;j = array.length - 1;while(i < j){temp = array[i];array[i] = array[j];array[j] = temp;i++;j--;}i = 0;j = array.length - 1;while(i < j){temp = array[i];array[i] = array[j];array[j] = temp;i++;j--;}System.out.println(Arrays.toString(array));}}
- Q26、左旋转字符串(字符串)
- 左旋转字符串(字符串)
- 左旋转字符串(字符串)
- 左旋转字符串(字符串)
- (1)左旋转字符串
- 26.左旋转字符串(字符串)
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 左旋转字符串
- 26.左旋转字符串
- 第一章、左旋转字符串
- 字符串的左旋转
- 第一章、左旋转字符串
- 第一章、左旋转字符串
- 左旋转字符串
- 左旋转字符串
- ubuntu linux下笔记本禁用touch pad的方法
- Android中Fragment的应用
- POJ3041——Asteroids(二分图最大匹配)
- iOS学习笔记5-UIViewController(1)
- 图解 Git
- Q26、左旋转字符串(字符串)
- replace函数
- 希尔排序
- Android菜单详解(三)——SubMenu和IconMenu
- c++教程下载
- android参数参考1
- shell “(())”的使用
- bigendian to littleendian
- WINCE6.0 下的应用程序开机启动