题目描述:
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
.
题目大意:
给定两字符串A和B,判断A是否可以通过若干次平移变换得到B
平移变换是指将字符串的首字符移除并添加至末尾
解题思路:
蛮力法(Brute Force)
Python代码:
class Solution(object):
def rotateString(self, A, B):
"""
:type A: str
:type B: str
:rtype: bool
"""
if not A and not B: return True
return any(A[x:] + A[:x] == B for x in range(len(A)))
本文链接:http://bookshadow.com/weblog/2018/03/11/leetcode-rotate-string/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。
luojiyin 发布于 2018年7月24日 18:00 #
需要考虑 到
if len(A) ==0 and len(B) ==0 :
return True
或者写成
if not A and not B:
return True
在线疯狂 发布于 2018年9月16日 16:37 #
感谢指正,已经更新!