剑指offer58-Ⅱ 左旋转字符串【字符串】
题目描述
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串”abcdefg”和数字2,该函数将返回左旋转两位得到的结果”cdefgab”。
示例 1:
1 | 输入: s = "abcdefg", k = 2 |
示例 2:
1 | 输入: s = "lrloseumgh", k = 6 |
限制:
1 <= k < s.length <= 10000
解题思路
方法一:字符串
len长度字符串,先将n~len加入到StringBuilder,后将0到n加入到StringBuilder中。
代码实现
1 | public String reverseLeftWords(String s, int n) { |
复杂度分析
时间复杂度:O(n)
空间复杂度:O(n)
方法二:substring()
使用String内置substring函数
代码实现
1 | public String reverseLeftWords(String s, int n) { |
复杂度分析
时间复杂度:O(n)
空间复杂度:O(1)
资料
剑指offer58-Ⅱ 左旋转字符串【字符串】
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.