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:
AandBwill have length at most100.
解法1:
class Solution(object): def rotateString(self, A, B): """ :type A: str :type B: str :rtype: bool """ """ Input: A = 'abcde', B = 'cdeab' Output: true A+A='abcde'+'abcde'='abcdeabcde' check B in A+A """ s = A + A i = s.find(B) if i < 0: return False else: return s[i+len(B):]+s[:i] == B
另外可以:
def rotateString(self, A, B):
return len(A) == len(B) and B in A + A