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, A, B):
"""
:type A: str
:type B: str
:rtype: bool
"""
n=len(A)
indices=[]
for i in range(n):#存入A中最后一个元素在B中索引
if B[i]==A[n-1]:
indices.append(i)
if len(indices)>=1:#非空则继续
i=0
k=len(indices)
while i<k:
B_left=B[:indices[i]+1]
B_right=B[indices[i]+1:]
if B_right+B_left==A:
return True
else:
i=i+1
return False
else:
return False