题目
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
示例 1:
输入: s = "abcdefg", k = 2 输出: "cdefgab"
示例 2:
输入: s = "lrloseumgh", k = 6 输出: "umghlrlose"
限制:
1 <= k < s.length <= 10000
来源:力扣(LeetCode) 链接:力扣 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
官方解法:字符串裁剪与拼接
思路
字符串切片 应用字符串切片函数,可方便实现左旋转字符串。
获取字符串 s[n:]s[n:] 切片和 s[:n]s[:n] 切片,使用 "++" 运算符拼接并返回即可。
代码
class Solution { public String reverseLeftWords(String s, int n) { return s.substring(n, s.length()) + s.substring(0, n); } }
substring的用法
示例
public class RunoobTest { public static void main(String args[]) { String Str = new String("This is text"); System.out.print("返回值 :" ); System.out.println(Str.substring(4) ); System.out.print("返回值 :" ); System.out.println(Str.substring(4, 10) ); } }
返回值 : is text 返回值 : is te