题解 | #旋转字符串#
旋转字符串
https://www.nowcoder.com/practice/80b6bb8797644c83bc50ac761b72981c
题解一:既然是判断是否可以从某一处反转可以得到一样的字符串,那么可以遍历字符串A,找到A[i]==B[0],并在i处旋转A,判断是否相同即可,相同返回true,遍历后还没有发现就返回false
class Solution:
def solve(self , A: str, B: str) -> bool:
# write code here
n = len(A)
for i in range(n):
if A[i] == B[0]:
A = A[i:] + A[:i]
if A==B:
return True
return False
题解二:监于该题的特殊性,从某一个位置处旋转,则在A字符串后加上A,A+A中可以截取到从任何位置旋转的字符串。若B在A+A中那么就是true。当然,首要排除A、B的长度不相同
class Solution:
def solve(self , A: str, B: str) -> bool:
# write code here
if B in A+A and len(A)==len(B):
return True
else:
return False
查看10道真题和解析
