题解 | #旋转字符串#

旋转字符串

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-03 19:46
点赞 评论 收藏
分享
头像
09-05 10:14
已编辑
门头沟学院 Java
赫一鸣:我昨天投的,今天就oc了,也没和我说要面试笔试啊?不说了这单要超时了
点赞 评论 收藏
分享
头像
09-25 12:08
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务