We are given two strings, A
and B
.
A shift on A
consists of taking string A
and moving the leftmost character to the rightmost position. For example, if A = 'abcde'
, then it will be 'bcdea'
after one shift on A
. Return True
if and only if A
can become B
after some number of shifts on A
.
Example 1: Input: A = 'abcde', B = 'cdeab' Output: true Example 2: Input: A = 'abcde', B = 'abced' Output: false
Note:
A
andB
will have length at most100
.
class Solution:
def rotateString(self, s: str, goal: str) -> bool:
if len(s) != len(goal):
return False
return goal in s + s
class Solution {
public boolean rotateString(String s, String goal) {
if (s.length() != goal.length()) {
return false;
}
return (s + s).contains(goal);
}
}
class Solution {
public:
bool rotateString(string s, string goal) {
if (s.size() != goal.size()) {
return false;
}
return !!strstr((s + s).data(), goal.data());
}
};
func rotateString(s string, goal string) bool {
if len(s) != len(goal) {
return false
}
return strings.Contains(s+s, goal)
}