Rotate String
Problem statement
Given two strings s and goal, return true if and only if s can become goal after some number of shifts on s.
A shift on s consists of moving the leftmost character of s to the rightmost position.
- For example, if
s = "abcde", then it will be"bcdea"after one shift.
Example 1:
Input: s = "abcde", goal = "cdeab"Output: true
Example 2:
Input: s = "abcde", goal = "abced"Output: false
Constraints:
1 <= s.length, goal.length <= 100sandgoalconsist of lowercase English letters.
My solution
/**
* @param {string} A
* @param {string} B
* @return {boolean}
*/
var rotateString = function(A, B) {
if (A.length !== B.length) {
return false;
}
if (A === B) {
return true;
}
let i = 0;
while (i < A.length) {
const arr = A.split("");
arr.push(arr.shift())
A = arr.join("")
if (A === B) {
return true;
}
i++;
}
return false;
};