您的位置:首页 > 其它

左旋转字符串

2017-04-16 23:42 162 查看
题目描述:

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

备注:

char是字符类型,string是字符串类型(刚开始是用栈的思路做的)。

public class Solution30 {
public static String LeftRotateString(String s,int k){ //对字符串旋转左移K位
if (k > s.length()){   //保证旋转的位数大于字符串长度,否则返回空的字符串
return "";  //没有空格
}
String s1 = s.substring(0,k);  //把原来的字符串截取成两个字符串s1、s2,然后进行拼接
String s2 = s.substring(k,s.length());
return s2+s1;
}
public static void main(String args[]){
String s ="abcXYZdef";
System.out.println(LeftRotateString(s,3));
}
}

//输出:
//XYZdefabc

//Process finished with exit code 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string