(简单题)题目:给定两个字符串, A
和 B
。
A
的旋转操作就是将 A
最左边的字符移动到最右边。 例如, 若 A = 'abcde'
,在移动一次之后结果就是'bcdea'
。如果在若干次旋转操作之后,A
能变成B
,那么返回True
。
示例 1: 输入: A = 'abcde', B = 'cdeab' 输出: true 示例 2: 输入: A = 'abcde', B = 'abced' 输出: false
字符串A和B的长度不超过100;
我的思路:
1. 因为字符串是不可变的, 先利用split方法把字符串变成可变的数组
2. 进行for循环, 取出第一位, 并且插入到后面, 同时删除第一位
3. 使用join()方法转化为字符串并和B比较, 成功即跳出循环输出结果
4. 最后返回失败
代码:
var rotateString = function (A, B) { var strArrA = A.split(''); for (let i = 0; i <= 100; i ++) { var first = strArrA.shift() strArrA.push(first); if (strArrA.join('') === B) { return true; break } } return false; };