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
.
这个题目比较有技巧,因为直接判断B 是否in A + A即可。不过要注意进行length的判断。 O(n^2)
**Improve: KMP(有待提升)
Code
class Solution:
def rotateString(self, A, B):
return len(A) == len(B) and A in B + B