题目
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"
思路
直接用字符串截取、拼接做,因为从n开始,所以第一个参数是n,第二个参数就是字符串的长度,拼接旋转过去的那一半,第一个参数就是0,第二个参数就是n
问题
字符串截取、拼接不熟练
字符串的使用案列
string str="123abc456"; int i=3; 1 取字符串的前i个字符
str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i);
2 去掉字符串的前i个字符: str=str.Remove(0,i); // or str=str.Substring(i);
3 从右边开始取i个字符: str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);
4 从右边开始去掉i个字符: str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);```
## 代码
```java
public class ReverseLeftWords {
public static void main(String[] args) {
String s = "sadgqweq";
String s1 = reverseLeftWords(s, 3);
System.out.println(s1);
}
public static String reverseLeftWords(String s, int n) {
String s1 = s.substring(n, s.length()) + s.substring(0, n);
return s1;
}
}