要求
给定两个字符串, A 和 B。
A 的旋转操作就是将 A 最左边的字符移动到最右边。 例如, 若 A = 'abcde',在移动一次之后结果就是'bcdea' 。如果在若干次旋转操作之后,A 能变成B,那么返回True。
示例 1:
输入: A = 'abcde', B = 'cdeab'
输出: true
示例 2:
输入: A = 'abcde', B = 'abced'
输出: false
注意:
A 和 B 长度不超过 100。
核心代码
class Solution:
def rotateString(self, s: str, goal: str) -> bool:
for i in range(1,101):
temp = s[i:] + s[:i]
if temp == goal:
return True
return False
另一解法
class Solution:
def rotateString(self, s: str, goal: str) -> bool:
return len(s) == len(goal) and goal in s + s
解题思路:第一种方式:使用循环的方式,不断的和我们的goal进行匹配,能匹配上返回True,否则返回False.第二种思路:转的所有结果都会被包含在A + A这个大字符串里。