在Python中旋转字符串
假设我们有两个字符串,A和B。我们将旋转字符串A,并在旋转的任何位置检查它是否与B匹配,如果是,则返回true,否则返回false。例如,如果A ='abcde',而B ='bcdea',答案将是正确的,因为旋转A后可以将A转换为B。
为了解决这个问题,我们将遵循以下步骤-
当A和B都为空时,则返回true;而当两者长度不同时,则返回false
A:=在A之后连接A
i:= 0,j:= 0
而我<A的长度
将i和j加1
如果A的长度– i + 1 <B的长度,则返回false
而i <A的长度和j <B的长度,A [i] = B [j]
如果j = B的长度,则返回true
如果j不为0,则将i减1
j:= 0
使我增加1
示例
让我们看下面的实现以更好地理解-
class Solution(object):def rotateString(self, A, B):
if not A and not B:
return True
if len(A) != len(B):
return False
A = A*2
i = 0
j=0
#print(A,B)
while i < len(A):
if len(A)-i+1<len(B):
return False
while i<len(A) and j < len(B) and A[i] == B[j]:
#print("Here!",i,j)
i+=1
j+=1
if j == len(B):
return True
if j:
i-=1
j=0
i+=1
ob1 = Solution()print(ob1.rotateString("abcde", "cdeab"))
输入项
"abcde""cdeab"
输出结果
True
以上是 在Python中旋转字符串 的全部内容, 来源链接: utcz.com/z/326756.html